Skip to content

Commit c469483

Browse files
committed
grid splitter
1 parent 6e28c1e commit c469483

File tree

5 files changed

+78
-25
lines changed

5 files changed

+78
-25
lines changed

MaterialDesignColors.WpfExample/Buttons.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
</UserControl.Resources>
2222
<Grid Margin="8 8 8 8">
2323
<Grid.ColumnDefinitions>
24-
<ColumnDefinition Width="3*" />
24+
<ColumnDefinition Width="3.0001*" />
2525
<ColumnDefinition Width="Auto" />
2626
<ColumnDefinition Width="1*" />
2727
</Grid.ColumnDefinitions>

MaterialDesignColors.WpfExample/ProvingGround.xaml

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,26 @@
5050
<SolidColorBrush x:Key="SecondaryAccentForegroundBrush" Color="{StaticResource Accent700Foreground}"/>
5151
</ResourceDictionary>
5252
</ResourceDictionary.MergedDictionaries>
53+
<Style x:Key="GridSplitterPreviewStyle">
54+
<Setter Property="Control.Template">
55+
<Setter.Value>
56+
<ControlTemplate>
57+
<Rectangle Fill="#80000000"/>
58+
</ControlTemplate>
59+
</Setter.Value>
60+
</Setter>
61+
</Style>
62+
<Style x:Key="MaterialDesignGridSplitter" TargetType="{x:Type GridSplitter}">
63+
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
64+
<Setter Property="PreviewStyle" Value="{StaticResource GridSplitterPreviewStyle}"/>
65+
<Setter Property="Template">
66+
<Setter.Value>
67+
<ControlTemplate TargetType="{x:Type GridSplitter}">
68+
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"/>
69+
</ControlTemplate>
70+
</Setter.Value>
71+
</Setter>
72+
</Style>
5373

5474

5575

@@ -62,29 +82,7 @@
6282
</UserControl.Resources>
6383

6484
<Grid>
65-
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
66-
<TextBox wpf:TextField.Hint="Type Stuff" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
67-
VerticalAlignment="Bottom" Width="80" />
68-
<TextBox wpf:TextField.Hint="Type Stuff" Text="I did type stuff" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
69-
VerticalAlignment="Bottom" Margin="24 0 0 0" Width="80" />
70-
<TextBox wpf:TextField.Hint="Big" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
71-
VerticalAlignment="Bottom"
72-
FontSize="24" Margin="24 0 0 0" Width="80" />
73-
<TextBox wpf:TextField.Hint="Big" Text="Large!" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
74-
FontSize="24" Margin="24 0 0 0" Width="80" />
75-
<ComboBox wpf:TextField.Hint="OS" VerticalAlignment="Bottom" Margin="24 0 0 0" Width="80">
76-
<ComboBoxItem>Andoid</ComboBoxItem>
77-
<ComboBoxItem>iOS</ComboBoxItem>
78-
<ComboBoxItem>Linux</ComboBoxItem>
79-
<ComboBoxItem>Windows</ComboBoxItem>
80-
</ComboBox>
81-
<ComboBox wpf:TextField.Hint="OS" SelectedIndex="2" VerticalAlignment="Bottom" Margin="24 0 0 0" Width="80">
82-
<ComboBoxItem>Andoid</ComboBoxItem>
83-
<ComboBoxItem>iOS</ComboBoxItem>
84-
<ComboBoxItem>Linux</ComboBoxItem>
85-
<ComboBoxItem>Windows</ComboBoxItem>
86-
</ComboBox>
87-
</StackPanel>
85+
<GridSplitter Style="{DynamicResource MaterialDesignGridSplitter}" />
8886
</Grid>
8987

9088
</UserControl>

MaterialDesignThemes.Wpf/MaterialDesignThemes.Wpf.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@
9292
<SubType>Designer</SubType>
9393
<Generator>MSBuild:Compile</Generator>
9494
</Page>
95+
<Page Include="Themes\MaterialDesignTheme.GridSplitter.xaml">
96+
<SubType>Designer</SubType>
97+
<Generator>MSBuild:Compile</Generator>
98+
</Page>
9599
<Page Include="Themes\MaterialDesignTheme.MahApps.Dialogs.xaml">
96100
<SubType>Designer</SubType>
97101
<Generator>MSBuild:Compile</Generator>

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Defaults.xaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.combobox.xaml" />
1212
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.DataGrid.xaml" />
1313
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.DatePicker.xaml" />
14+
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.GridSplitter.xaml" />
1415
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.listbox.xaml" />
1516
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Menu.xaml" />
1617
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.PasswordBox.xaml" />
@@ -33,7 +34,8 @@
3334
<Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource MaterialDesignDataGridColumnHeader}" />
3435
<Style TargetType="{x:Type DataGridRow}" BasedOn="{StaticResource MaterialDesignDataGridRow}" />
3536
<Style TargetType="{x:Type DataGridRowHeader}" BasedOn="{StaticResource MaterialDesignDataGridRowHeader}" />
36-
<Style TargetType="{x:Type DatePicker}" BasedOn="{StaticResource MaterialDesignDatePicker}" />
37+
<Style TargetType="{x:Type DatePicker}" BasedOn="{StaticResource MaterialDesignDatePicker}" />
38+
<Style TargetType="{x:Type GridSplitter}" BasedOn="{StaticResource MaterialDesignGridSplitter}" />
3739
<Style TargetType="{x:Type ListBox}" BasedOn="{StaticResource MaterialDesignListBox}" />
3840
<Style TargetType="{x:Type PasswordBox}" BasedOn="{StaticResource MaterialDesignPasswordBox}" />
3941
<Style TargetType="{x:Type ProgressBar}" BasedOn="{StaticResource MaterialDesignLinearProgressBar}" />
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3+
xmlns:local="clr-namespace:MaterialDesignThemes.Wpf.Themes">
4+
<Style x:Key="MaterialDesignGridSplitterPreview">
5+
<Setter Property="Control.Template">
6+
<Setter.Value>
7+
<ControlTemplate>
8+
<Rectangle Fill="{DynamicResource MaterialDesignSelection}"/>
9+
</ControlTemplate>
10+
</Setter.Value>
11+
</Setter>
12+
</Style>
13+
<Style x:Key="MaterialDesignGridSplitter" TargetType="{x:Type GridSplitter}">
14+
<Setter Property="Background" Value="{DynamicResource MaterialDesignDivider}"/>
15+
<Setter Property="PreviewStyle" Value="{StaticResource MaterialDesignGridSplitterPreview}"/>
16+
<Setter Property="Opacity" Value=".56"/>
17+
<Setter Property="Template">
18+
<Setter.Value>
19+
<ControlTemplate TargetType="{x:Type GridSplitter}">
20+
<ControlTemplate.Resources>
21+
<Storyboard x:Key="MouseEnter">
22+
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)">
23+
<EasingDoubleKeyFrame KeyTime="0" Value="0.56"/>
24+
<EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1"/>
25+
</DoubleAnimationUsingKeyFrames>
26+
</Storyboard>
27+
<Storyboard x:Key="MouseExit">
28+
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)">
29+
<EasingDoubleKeyFrame KeyTime="0" Value="0.56"/>
30+
<EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="0.56"/>
31+
</DoubleAnimationUsingKeyFrames>
32+
</Storyboard>
33+
</ControlTemplate.Resources>
34+
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"/>
35+
<ControlTemplate.Triggers>
36+
<Trigger Property="IsMouseOver" Value="True">
37+
<Trigger.ExitActions>
38+
<BeginStoryboard x:Name="MouseExit_BeginStoryboard" Storyboard="{StaticResource MouseExit}"/>
39+
</Trigger.ExitActions>
40+
<Trigger.EnterActions>
41+
<BeginStoryboard x:Name="MouseEnter_BeginStoryboard" Storyboard="{StaticResource MouseEnter}"/>
42+
</Trigger.EnterActions>
43+
</Trigger>
44+
</ControlTemplate.Triggers>
45+
</ControlTemplate>
46+
</Setter.Value>
47+
</Setter>
48+
</Style>
49+
</ResourceDictionary>

0 commit comments

Comments
 (0)