Skip to content

Commit 3f59b75

Browse files
authored
Adding toggle template selector to popup box (#3403)
1 parent 59375ff commit 3f59b75

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

MaterialDesignThemes.Wpf/PopupBox.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,18 @@ public DataTemplate? ToggleContentTemplate
144144
set => SetValue(ToggleContentTemplateProperty, value);
145145
}
146146

147+
public static readonly DependencyProperty ToggleContentTemplateSelectorProperty = DependencyProperty.Register(
148+
nameof(ToggleContentTemplateSelector), typeof(DataTemplateSelector), typeof(PopupBox), new PropertyMetadata(default(DataTemplateSelector?)));
149+
150+
/// <summary>
151+
/// Template for <see cref="ToggleContent"/>.
152+
/// </summary>
153+
public DataTemplateSelector? ToggleContentTemplateSelector
154+
{
155+
get => (DataTemplateSelector?)GetValue(ToggleContentTemplateSelectorProperty);
156+
set => SetValue(ToggleContentTemplateSelectorProperty, value);
157+
}
158+
147159
public static readonly DependencyProperty ToggleCheckedContentProperty = DependencyProperty.Register(
148160
nameof(ToggleCheckedContent), typeof(object), typeof(PopupBox), new PropertyMetadata(default(object?)));
149161

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.PopupBox.xaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@
120120
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
121121
Content="{TemplateBinding ToggleContent}"
122122
ContentTemplate="{TemplateBinding ToggleContentTemplate}"
123+
ContentTemplateSelector="{TemplateBinding ToggleContentTemplateSelector}"
123124
Cursor="Hand"
124125
IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsPopupOpen, Mode=TwoWay}"
125126
IsTabStop="{TemplateBinding IsTabStop}"
@@ -374,11 +375,13 @@
374375
<ContentControl x:Name="StandardToggleContent"
375376
Content="{TemplateBinding ToggleContent}"
376377
ContentTemplate="{TemplateBinding ToggleContentTemplate}"
378+
ContentTemplateSelector="{TemplateBinding ToggleContentTemplateSelector}"
377379
Focusable="False"
378380
Visibility="{TemplateBinding ToggleCheckedContent, Converter={StaticResource InvertedNullVisibilityConverter}}" />
379381
<ContentControl x:Name="ExplicitToggleContent"
380382
Content="{TemplateBinding ToggleContent}"
381383
ContentTemplate="{TemplateBinding ToggleContentTemplate}"
384+
ContentTemplateSelector="{TemplateBinding ToggleContentTemplateSelector}"
382385
Focusable="False"
383386
Visibility="{TemplateBinding ToggleCheckedContent, Converter={StaticResource NullVisibilityConverter}}" />
384387
<ContentControl x:Name="ExplicitToggleCheckedContent"

0 commit comments

Comments
 (0)