Skip to content

Commit 96c23f5

Browse files
committed
fix disabled DatePicker style, fix showing Watermark
1 parent bb07e6b commit 96c23f5

File tree

2 files changed

+18
-26
lines changed

2 files changed

+18
-26
lines changed

MahApps.Metro/Styles/Controls.DatePicker.xaml

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -47,25 +47,13 @@
4747
<Setter.Value>
4848
<ControlTemplate TargetType="{x:Type DatePicker}">
4949
<Grid x:Name="PART_Root">
50-
<VisualStateManager.VisualStateGroups>
51-
<VisualStateGroup x:Name="CommonStates">
52-
<VisualState x:Name="Normal" />
53-
<VisualState x:Name="Disabled">
54-
<Storyboard>
55-
<DoubleAnimation Duration="0"
56-
To="1"
57-
Storyboard.TargetProperty="Opacity"
58-
Storyboard.TargetName="PART_DisabledVisual" />
59-
</Storyboard>
60-
</VisualState>
61-
</VisualStateGroup>
62-
</VisualStateManager.VisualStateGroups>
6350
<Border x:Name="Base"
6451
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
6552
BorderBrush="{TemplateBinding BorderBrush}"
6653
BorderThickness="{TemplateBinding BorderThickness}"
6754
Background="{TemplateBinding Background}" />
68-
<Grid Margin="2">
55+
<Grid x:Name="PART_InnerGrid"
56+
Margin="2">
6957
<Grid.ColumnDefinitions>
7058
<ColumnDefinition Width="*" />
7159
<ColumnDefinition Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Grid}}, Path=ActualHeight, Mode=OneWay}" />
@@ -102,6 +90,7 @@
10290

10391
<DatePickerTextBox x:Name="PART_TextBox"
10492
Grid.Column="0"
93+
Controls:TextBoxHelper.Watermark="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(Controls:TextBoxHelper.Watermark), Mode=OneWay}"
10594
CaretBrush="{DynamicResource BlackBrush}"
10695
ContextMenu="{DynamicResource TextBoxMetroContextMenu}"
10796
Foreground="{TemplateBinding Foreground}"
@@ -110,21 +99,19 @@
11099
HorizontalContentAlignment="Stretch"
111100
VerticalContentAlignment="Stretch" />
112101

113-
<Border x:Name="PART_DisabledVisual"
114-
Grid.Column="0"
115-
Grid.ColumnSpan="2"
116-
BorderBrush="{DynamicResource ControlsDisabledBrush}"
117-
BorderThickness="{TemplateBinding BorderThickness}"
118-
Background="{DynamicResource ControlsDisabledBrush}"
119-
IsHitTestVisible="False"
120-
Opacity="0" />
121-
122102
<Popup x:Name="PART_Popup"
123103
AllowsTransparency="True"
124104
Placement="Bottom"
125105
PlacementTarget="{Binding ElementName=PART_Root}"
126106
StaysOpen="False" />
127107
</Grid>
108+
<Border x:Name="DisabledVisualElement"
109+
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
110+
BorderBrush="{DynamicResource ControlsDisabledBrush}"
111+
BorderThickness="{TemplateBinding BorderThickness}"
112+
Background="{DynamicResource ControlsDisabledBrush}"
113+
IsHitTestVisible="False"
114+
Opacity="0" />
128115
</Grid>
129116

130117
<ControlTemplate.Triggers>
@@ -146,6 +133,12 @@
146133
Property="BorderBrush"
147134
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(Controls:ControlsHelper.FocusBorderBrush)}" />
148135
</Trigger>
136+
<Trigger Property="IsEnabled"
137+
Value="False">
138+
<Setter TargetName="DisabledVisualElement"
139+
Property="Opacity"
140+
Value="0.6" />
141+
</Trigger>
149142
<Trigger SourceName="PART_Button"
150143
Property="IsMouseOver"
151144
Value="True">
@@ -255,7 +248,7 @@
255248
Foreground="{TemplateBinding Foreground}"
256249
Visibility="Hidden" />
257250
<TextBlock x:Name="Message"
258-
Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DatePicker}}, Path=(Controls:TextBoxHelper.Watermark)}"
251+
Text="{TemplateBinding Controls:TextBoxHelper.Watermark}"
259252
Foreground="{TemplateBinding Foreground}"
260253
IsHitTestVisible="False"
261254
Opacity="0.6"
@@ -280,7 +273,7 @@
280273
</MultiTrigger.ExitActions>
281274
</MultiTrigger>
282275

283-
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DatePicker}}, Path=(Controls:TextBoxHelper.Watermark)}"
276+
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=(Controls:TextBoxHelper.Watermark)}"
284277
Value="{x:Static System:String.Empty}">
285278
<Setter TargetName="PART_Watermark"
286279
Property="Visibility"

samples/MetroDemo/ExampleViews/DateExamples.xaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
<DatePicker Margin="0, 10, 0, 0"
3737
Width="150"
3838
HorizontalAlignment="Center"
39-
Controls:TextBoxHelper.Watermark="Select a date"
4039
IsEnabled="False" />
4140
<DatePicker Margin="0, 10, 0, 0"
4241
Width="300"

0 commit comments

Comments
 (0)