Skip to content

Commit 596f708

Browse files
Merge branch 'master' of https://github.com/AbderrahmaneAhmam/MaterialDesignInXamlToolkit into feature/AutoSuggestion
2 parents d47c665 + 5342321 commit 596f708

File tree

7 files changed

+213
-51
lines changed

7 files changed

+213
-51
lines changed

Directory.packages.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<PackageVersion Include="Microsoft.Composition" Version="1.0.31" />
1414
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
1515
<PackageVersion Include="Microsoft.NETCore.Platforms" Version="7.0.4" />
16-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.7.0" />
16+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.7.1" />
1717
<PackageVersion Include="Microsoft.Toolkit.MVVM" Version="7.1.2" />
1818
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
1919
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
@@ -22,7 +22,7 @@
2222
<PackageVersion Include="ShowMeTheXAML.AvalonEdit" Version="2.0.0" />
2323
<PackageVersion Include="ShowMeTheXAML.MSBuild" Version="2.0.0" />
2424
<PackageVersion Include="VirtualizingWrapPanel" Version="1.5.7" />
25-
<PackageVersion Include="XAMLTest" Version="1.0.0-ci451" />
25+
<PackageVersion Include="XAMLTest" Version="1.1.0" />
2626
<PackageVersion Include="xunit" Version="2.5.0" />
2727
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.0" />
2828
<PackageVersion Include="Xunit.StaFact" Version="1.1.11" />

MainDemo.Wpf/Expander.xaml

Lines changed: 89 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
<Grid.RowDefinitions>
4343
<RowDefinition Height="Auto" />
4444
<RowDefinition Height="Auto" />
45+
<RowDefinition Height="Auto" />
4546
</Grid.RowDefinitions>
4647

4748
<Grid.ColumnDefinitions>
@@ -132,18 +133,71 @@
132133
</materialDesign:Card>
133134
</smtx:XamlDisplay>
134135

136+
<smtx:XamlDisplay Grid.Row="2"
137+
Grid.Column="0"
138+
Margin="4,24,0,0"
139+
UniqueKey="expander_3">
140+
<materialDesign:Card>
141+
<StackPanel>
142+
<Expander HorizontalAlignment="Stretch" Header="Expander Example 3a">
143+
<Expander.Style>
144+
<Style TargetType="Expander" BasedOn="{StaticResource MaterialDesignExpander}">
145+
<Setter Property="materialDesign:ExpanderAssist.ExpanderButtonContent" Value="{materialDesign:PackIcon Kind=Plus}" />
146+
<Style.Triggers>
147+
<Trigger Property="IsExpanded" Value="True">
148+
<Setter Property="materialDesign:ExpanderAssist.ExpanderButtonContent" Value="{materialDesign:PackIcon Kind=Minus}" />
149+
</Trigger>
150+
</Style.Triggers>
151+
</Style>
152+
</Expander.Style>
153+
<StackPanel Margin="24,8,24,16"
154+
Orientation="Vertical"
155+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}">
156+
<TextBlock Text="Your Content" />
157+
<TextBlock Style="{StaticResource HorizontalExpanderContentTextBlock}" />
158+
</StackPanel>
159+
</Expander>
160+
161+
<Border Style="{StaticResource HorizontalDividerBorder}" />
162+
163+
<Expander HorizontalAlignment="Stretch"
164+
materialDesign:ExpanderAssist.ExpanderButtonPosition="Start">
165+
<Expander.Header>
166+
<TextBlock Text="Expander Example 3b" Margin="10,0,0,0" />
167+
</Expander.Header>
168+
<StackPanel Margin="24,8,24,16"
169+
Orientation="Vertical"
170+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}">
171+
<TextBlock Text="Your Content" />
172+
<TextBlock Style="{StaticResource HorizontalExpanderContentTextBlock}" />
173+
</StackPanel>
174+
</Expander>
175+
176+
<Border Style="{StaticResource HorizontalDividerBorder}" />
177+
178+
<Expander HorizontalAlignment="Stretch" Header="Expander Example 3b" materialDesign:ExpanderAssist.ExpanderButtonPosition="End">
179+
<StackPanel Margin="24,8,24,16"
180+
Orientation="Vertical"
181+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}">
182+
<TextBlock Text="Your Content" />
183+
<TextBlock Style="{StaticResource HorizontalExpanderContentTextBlock}" />
184+
</StackPanel>
185+
</Expander>
186+
</StackPanel>
187+
</materialDesign:Card>
188+
</smtx:XamlDisplay>
135189

136190
<smtx:XamlDisplay Grid.Row="0"
137-
Grid.RowSpan="2"
191+
Grid.RowSpan="3"
138192
Grid.Column="1"
139193
Margin="8"
140194
HorizontalAlignment="Left"
141195
VerticalAlignment="Stretch"
142-
UniqueKey="expander_3">
196+
UniqueKey="expander_4">
143197
<StackPanel Orientation="Horizontal">
144198
<Expander ExpandDirection="Left">
145199
<Expander.Header>
146-
<TextBlock RenderTransformOrigin=".5,.5" Text="Expander Example 3a">
200+
<TextBlock RenderTransformOrigin=".5,.5" Text="Expander Example 4a">
147201
<TextBlock.LayoutTransform>
148202
<RotateTransform Angle="90" />
149203
</TextBlock.LayoutTransform>
@@ -162,7 +216,7 @@
162216

163217
<Expander ExpandDirection="Right">
164218
<Expander.Header>
165-
<TextBlock RenderTransformOrigin=".5,.5" Text="Expander Example 3b">
219+
<TextBlock RenderTransformOrigin=".5,.5" Text="Expander Example 4b">
166220
<TextBlock.LayoutTransform>
167221
<RotateTransform Angle="90" />
168222
</TextBlock.LayoutTransform>
@@ -179,9 +233,9 @@
179233

180234
<Border Style="{StaticResource VerticalDividerBorder}" />
181235

182-
<Expander ExpandDirection="Right">
236+
<Expander ExpandDirection="Right" materialDesign:ExpanderAssist.ExpanderButtonPosition="End">
183237
<Expander.Header>
184-
<TextBlock RenderTransformOrigin=".5,.5" Text="Expander Example 3c">
238+
<TextBlock RenderTransformOrigin=".5,.5" Text="Expander Example 4c">
185239
<TextBlock.LayoutTransform>
186240
<RotateTransform Angle="90" />
187241
</TextBlock.LayoutTransform>
@@ -198,6 +252,35 @@
198252

199253
<Border Style="{StaticResource VerticalDividerBorder}" />
200254

255+
<Expander ExpandDirection="Right" materialDesign:ExpanderAssist.ExpanderButtonPosition="Start">
256+
<Expander.Style>
257+
<Style TargetType="Expander" BasedOn="{StaticResource MaterialDesignExpander}">
258+
<Setter Property="materialDesign:ExpanderAssist.ExpanderButtonContent" Value="{materialDesign:PackIcon Kind=Plus}" />
259+
<Style.Triggers>
260+
<Trigger Property="IsExpanded" Value="True">
261+
<Setter Property="materialDesign:ExpanderAssist.ExpanderButtonContent" Value="{materialDesign:PackIcon Kind=Minus}" />
262+
</Trigger>
263+
</Style.Triggers>
264+
</Style>
265+
</Expander.Style>
266+
<Expander.Header>
267+
<TextBlock RenderTransformOrigin=".5,.5" Text="Expander Example 4d" HorizontalAlignment="Left">
268+
<TextBlock.LayoutTransform>
269+
<RotateTransform Angle="90" />
270+
</TextBlock.LayoutTransform>
271+
</TextBlock>
272+
</Expander.Header>
273+
274+
<StackPanel Margin="8,24,16,24"
275+
Orientation="Vertical"
276+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}">
277+
<TextBlock Text="Your Content" />
278+
<TextBlock Style="{StaticResource VerticalExpanderContentTextBlock}" />
279+
</StackPanel>
280+
</Expander>
281+
282+
<Border Style="{StaticResource VerticalDividerBorder}" />
283+
201284
<Expander materialDesign:ExpanderAssist.VerticalHeaderPadding="0,35,0,5" ExpandDirection="Right">
202285
<Expander.Header>
203286
<TextBlock RenderTransformOrigin=".5,.5" Text="Custom Header Padding">

MaterialDesignThemes.UITests/WPF/ListBoxes/ListBoxTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ public async Task OnToggle_ShouldGrabFocus()
168168
var listBoxItem = await listBox.GetElement<ListBoxItem>("/ListBoxItem[2]");
169169

170170
await textBox.LeftClick();
171-
Assert.True(await textBox.GetIsKeyboardFocusWithin());
171+
await Wait.For(async () => Assert.True(await textBox.GetIsKeyboardFocusWithin()));
172172

173173
// Act
174174
await listBoxItem.LeftClick();

MaterialDesignThemes.Wpf/ExpanderAssist.cs

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,17 @@
22

33
namespace MaterialDesignThemes.Wpf;
44

5+
public enum ExpanderButtonPosition
6+
{
7+
Default,
8+
Start,
9+
End
10+
}
11+
512
public static class ExpanderAssist
613
{
7-
private static readonly Thickness DefaultHorizontalHeaderPadding = new Thickness(24, 12, 24, 12);
8-
private static readonly Thickness DefaultVerticalHeaderPadding = new Thickness(12, 24, 12, 24);
14+
private static readonly Thickness DefaultHorizontalHeaderPadding = new(24, 12, 24, 12);
15+
private static readonly Thickness DefaultVerticalHeaderPadding = new(12, 24, 12, 24);
916

1017
#region AttachedProperty : HorizontalHeaderPaddingProperty
1118
public static readonly DependencyProperty HorizontalHeaderPaddingProperty
@@ -49,4 +56,24 @@ public static readonly DependencyProperty HeaderBackgroundProperty
4956
public static void SetHeaderBackground(Expander element, Brush? value)
5057
=> element.SetValue(HeaderBackgroundProperty, value);
5158
#endregion
59+
60+
#region AttachedProperty : ExpanderButtonContentProperty
61+
public static readonly DependencyProperty ExpanderButtonContentProperty
62+
= DependencyProperty.RegisterAttached("ExpanderButtonContent", typeof(object), typeof(ExpanderAssist));
63+
64+
public static object? GetExpanderButtonContent(Expander element)
65+
=> (object?)element.GetValue(ExpanderButtonContentProperty);
66+
public static void SetExpanderButtonContent(Expander element, object? value)
67+
=> element.SetValue(ExpanderButtonContentProperty, value);
68+
#endregion
69+
70+
#region AttachedProperty : ExpanderButtonPositionProperty
71+
public static readonly DependencyProperty ExpanderButtonPositionProperty
72+
= DependencyProperty.RegisterAttached("ExpanderButtonPosition", typeof(ExpanderButtonPosition), typeof(ExpanderAssist), new PropertyMetadata(ExpanderButtonPosition.Default));
73+
74+
public static ExpanderButtonPosition GetExpanderButtonPosition(Expander element)
75+
=> (ExpanderButtonPosition)element.GetValue(ExpanderButtonPositionProperty);
76+
public static void SetExpanderButtonPosition(Expander element, ExpanderButtonPosition value)
77+
=> element.SetValue(ExpanderButtonPositionProperty, value);
78+
#endregion
5279
}

0 commit comments

Comments
 (0)