Skip to content

Commit 5c169da

Browse files
jizcKeboo
andauthored
Restored inactive calendar buttons (#2802)
* Restore inactive calendar buttons * Fixed failing DatePicker test This test failed when local culture settings used dd.MM.yy instead of MM.dd.yy because the GetSelectedDate extension assumes US culture. * Defer asserting on the elements of the context menu until it is visible Co-authored-by: Kevin Bost <[email protected]>
1 parent a317703 commit 5c169da

File tree

3 files changed

+18
-29
lines changed

3 files changed

+18
-29
lines changed

MaterialDesignThemes.UITests/WPF/ComboBoxes/ComboBoxTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public async Task OnEditableComboBox_WithDefaultContextMenu_ShowsCutCopyPaste()
114114

115115
IVisualElement<ContextMenu>? contextMenu = await comboBox.GetContextMenu();
116116
Assert.True(contextMenu is not null, "No context menu set on the ComboBox");
117-
117+
await Wait.For(async () => await contextMenu!.GetIsVisible());
118118
await AssertMenu("Cut");
119119
await AssertMenu("Copy");
120120
await AssertMenu("Paste");

MaterialDesignThemes.UITests/WPF/DatePickers/DatePickerTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.ComponentModel;
3+
using System.Globalization;
34
using System.Threading.Tasks;
45
using System.Windows.Controls;
56
using XamlTest;
@@ -41,9 +42,10 @@ public async Task OnDatePicker_WithClearButton_ClearsSelectedDate()
4142
{
4243
await using var recorder = new TestRecorder(App);
4344

45+
string dateString = DateTime.Today.ToString("d", CultureInfo.GetCultureInfoByIetfLanguageTag("en-US"));
4446
var stackPanel = await LoadXaml<StackPanel>($@"
4547
<StackPanel>
46-
<DatePicker SelectedDate=""{DateTime.Today:d}"" materialDesign:TextFieldAssist.HasClearButton=""True""/>
48+
<DatePicker SelectedDate=""{dateString}"" materialDesign:TextFieldAssist.HasClearButton=""True""/>
4749
</StackPanel>");
4850
var datePicker = await stackPanel.GetElement<DatePicker>("/DatePicker");
4951
var clearButton = await datePicker.GetElement<Button>("PART_ClearButton");

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Calendar.xaml

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<VisualState x:Name="Disabled">
4343
<Storyboard>
4444
<DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HighlightBackground"/>
45-
<DoubleAnimation Duration="0" To=".35" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="NormalText"/>
45+
<DoubleAnimation Duration="0" To=".38" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="NormalText"/>
4646
</Storyboard>
4747
</VisualState>
4848
</VisualStateGroup>
@@ -116,22 +116,16 @@
116116
StrokeThickness="1" RadiusX="15" RadiusY="15" Height="30"/>
117117
</Grid>
118118
<ControlTemplate.Triggers>
119-
<Trigger Property="IsFocused" Value="False">
119+
<Trigger Property="HasSelectedDays" Value="False">
120120
<Setter TargetName="NormalText" Property="TextElement.Foreground" Value="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Calendar}}}"/>
121121
</Trigger>
122+
<Trigger Property="IsInactive" Value="True">
123+
<Setter TargetName="NormalText" Property="Opacity" Value="0.56" />
124+
</Trigger>
122125
</ControlTemplate.Triggers>
123126
</ControlTemplate>
124127
</Setter.Value>
125128
</Setter>
126-
<Style.Triggers>
127-
<Trigger Property="IsInactive"
128-
Value="True">
129-
<Setter Property="MinHeight"
130-
Value="0" />
131-
<Setter Property="MaxHeight"
132-
Value="0" />
133-
</Trigger>
134-
</Style.Triggers>
135129
</Style>
136130

137131
<Style x:Key="MaterialDesignCalendarDayButton" TargetType="{x:Type CalendarDayButton}">
@@ -233,11 +227,7 @@
233227
<DoubleAnimation Duration="0"
234228
To="0"
235229
Storyboard.TargetProperty="Opacity"
236-
Storyboard.TargetName="HighlightingBorder"/>
237-
<DoubleAnimation Duration="0"
238-
To="0.38"
239-
Storyboard.TargetProperty="Opacity"
240-
Storyboard.TargetName="NormalText" />
230+
Storyboard.TargetName="HighlightBackground"/>
241231
</Storyboard>
242232
</VisualState>
243233
</VisualStateGroup>
@@ -274,22 +264,19 @@
274264
<Trigger Property="IsSelected" Value="False">
275265
<Setter TargetName="NormalText" Property="TextElement.Foreground" Value="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Calendar}}}"/>
276266
</Trigger>
267+
<Trigger Property="IsInactive" Value="True">
268+
<Setter TargetName="NormalText" Property="Opacity" Value="0.56" />
269+
</Trigger>
270+
<Trigger Property="IsBlackedOut" Value="True">
271+
<Setter TargetName="NormalText" Property="Opacity" Value="0.38" />
272+
</Trigger>
277273
</ControlTemplate.Triggers>
278274
</ControlTemplate>
279275
</Setter.Value>
280276
</Setter>
281277
<Style.Triggers>
282-
<Trigger Property="IsInactive"
283-
Value="True">
284-
<Setter Property="MinHeight"
285-
Value="0" />
286-
<Setter Property="MaxHeight"
287-
Value="0" />
288-
</Trigger>
289-
<Trigger Property="IsBlackedOut"
290-
Value="True">
291-
<Setter Property="Cursor"
292-
Value="No" />
278+
<Trigger Property="IsBlackedOut" Value="True">
279+
<Setter Property="Cursor" Value="Arrow" />
293280
</Trigger>
294281
</Style.Triggers>
295282
</Style>

0 commit comments

Comments
 (0)