|
<Window
x:Class="Itenso.Solutions.Community.ConfigurationWindowsDemo.UserSettingsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ctrl="clr-namespace:Itenso.Solutions.Community.ConfigurationWindowsDemo"
Title="User Settings Applied - WPF Code Behind"
x:Name="MainWindow"
MinWidth="500"
MinHeight="415"
Width="600"
Height="415"
Icon="/ConfigurationWindowsDemo;component/App.ico">
<Grid
x:Name="LayoutGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition
x:Name="ListColumn"
MinWidth="75"
Width="Auto"
MaxWidth="300" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ctrl:SettingListBox
x:Name="ItemsList"
Grid.Column="0">
</ctrl:SettingListBox>
<GridSplitter
Grid.Column="0"
Width="6"
Background="Gray" />
<DockPanel
Grid.Column="1">
<GroupBox
DockPanel.Dock="Top"
Margin="5"
Header="Window Settings">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="1*" />
<ColumnDefinition
Width="2*" />
<ColumnDefinition
Width="120" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Label
Grid.Column="0"
Grid.Row="0">Location:</Label>
<StackPanel
Grid.Column="1"
Grid.Row="0"
Orientation="Horizontal">
<TextBlock
Text="{Binding ElementName=MainWindow, Path=Left}"
Padding="0, 5" />
<TextBlock
Text=", "
Padding="0, 5" />
<TextBlock
Text="{Binding ElementName=MainWindow, Path=Top}"
Padding="0, 5" />
</StackPanel>
<Label
Grid.Column="0"
Grid.Row="1">Size:</Label>
<StackPanel
Grid.Column="1"
Grid.Row="1"
Orientation="Horizontal">
<TextBlock
Text="{Binding ElementName=MainWindow, Path=Width}"
Padding="0, 5" />
<TextBlock
Text=" x "
Padding="0, 5" />
<TextBlock
Text="{Binding ElementName=MainWindow, Path=Height}"
Padding="0, 5" />
</StackPanel>
<Label
Grid.Column="0"
Grid.Row="2">Window State:</Label>
<TextBlock
Grid.Column="1"
Grid.Row="2"
Text="{Binding ElementName=MainWindow, Path=WindowState}"
Padding="0, 5" />
<Label
Grid.Column="0"
Grid.Row="3">Splitter Position:</Label>
<TextBlock
Grid.Column="1"
Grid.Row="3"
Text="{Binding ElementName=ListColumn, Path=Width}"
Padding="0, 5" />
<Label
Grid.Column="0"
Grid.Row="4">Alignment:</Label>
<StackPanel
Grid.Column="1"
Grid.Row="4"
VerticalAlignment="Center"
Orientation="Horizontal">
<RadioButton
x:Name="AlignmentLeft"
Content="Left"
IsChecked="True"
Padding="5 0 15 0" />
<RadioButton
x:Name="AlignmentCenter"
Content="Center"
Padding="5 0 15 0" />
<RadioButton
x:Name="AlignmentRight"
Content="Right"
Padding="5 0 15 0" />
</StackPanel>
<Label
Grid.Column="0"
Grid.Row="5">Color:</Label>
<StackPanel
Grid.Column="1"
Grid.Row="5"
VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock
x:Name="WindowColorText"
VerticalAlignment="Center"
Padding="10 2"
Text="{Binding ElementName=MainWindow, Path=WindowColor}">
<TextBlock.Background>
<SolidColorBrush
Color="{Binding ElementName=MainWindow, Path=WindowColor}" />
</TextBlock.Background>
</TextBlock>
<Button
Content="..."
Padding="2 0"
Margin="5 0"
HorizontalAlignment="Right"
Click="ButtonChangeColor" />
</StackPanel>
<StackPanel
Grid.Column="2"
Grid.Row="0"
Grid.RowSpan="5"
HorizontalAlignment="Right">
<CheckBox
x:Name="SaveAsDefaultOption"
Content="Save as Default"
Margin="5"
HorizontalAlignment="Right"
ToolTip="Save window settings on close"
IsChecked="True" />
<Button
Content="Reset Settings"
Width="100"
Margin="5"
ToolTip="Reset window settings to the default"
Click="ButtonResetSettings" />
<Button
Content="Reload Settings"
Width="100"
Margin="5"
ToolTip="Reload last saved window settings"
Click="ButtonReloadSettings" />
<Button
Content="Save Settings"
Width="100"
Margin="5"
ToolTip="Save current window settings"
Click="ButtonSaveSettings" />
</StackPanel>
</Grid>
</GroupBox>
<GroupBox
DockPanel.Dock="Top"
Margin="5"
Header="Control Settings">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="1*" />
<ColumnDefinition
Width="3*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Label
Grid.Column="0"
Grid.Row="0">Selected Item:</Label>
<TextBlock
Grid.Column="1"
Grid.Row="0"
Text="{Binding ElementName=ItemsList, Path=SelectedValue}"
Padding="0, 5" />
</Grid>
</GroupBox>
<GroupBox
DockPanel.Dock="Top"
Margin="5"
Header="Application Settings">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="1*" />
<ColumnDefinition
Width="3*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Label
Grid.Column="0"
Grid.Row="0">Host:</Label>
<TextBox
x:Name="HostEdit"
Grid.Column="1"
Grid.Row="0"
Height="20" />
</Grid>
</GroupBox>
<GroupBox
DockPanel.Dock="Top"
Margin="5"
Header="User Configuration">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition
Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock
Grid.Column="0"
Grid.Row="0"
x:Name="UserConfigFileLabel"
Padding="0, 5"
MaxHeight="50"
TextWrapping="Wrap" />
<Button
Grid.Column="1"
Grid.Row="0"
Content="Open"
Margin="5"
Width="100"
VerticalAlignment="Top"
ToolTip="Open user.config"
Click="ButtonOpenUserConfig" />
</Grid>
</GroupBox>
<StackPanel
Orientation="Horizontal"
VerticalAlignment="Bottom"
HorizontalAlignment="Right">
<Button
Content="ListView"
Margin="5"
Width="100"
ToolTip="Demo of list view settings"
Click="ButtonListView" />
<Button
Content="Derived Window"
Margin="5"
Width="100"
ToolTip="Demo of derived window with settings"
Click="ButtonDerivedWindow" />
<Button
Content="XAML Settings"
Margin="5"
Width="100"
ToolTip="Demo of XAML driven settings"
Click="ButtonXamlSettings" />
<Button
Content="Close"
Margin="5"
Width="100"
Click="ButtonClose" />
</StackPanel>
</DockPanel>
</Grid>
</Window>
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
👨 Senior .NET Software Engineer
🚀 My Open Source Projects
-
Time Period Library 👉
GitHub
-
Payroll Engine 👉
GitHub
Feedback and contributions are welcome.