Skip to content

Commit a3ff17a

Browse files
authored
Added CheckBoxAssist.CheckBoxSize (#1277) (#1739)
1 parent 8969336 commit a3ff17a

File tree

3 files changed

+76
-56
lines changed

3 files changed

+76
-56
lines changed

MainDemo.Wpf/Toggles.xaml

Lines changed: 58 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<UserControl x:Class="MaterialDesignColors.WpfExample.Toggles"
22
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
33
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4-
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5-
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
4+
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5+
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
66
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
77
xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
88
xmlns:domain="clr-namespace:MaterialDesignDemo.Domain"
9-
mc:Ignorable="d"
9+
mc:Ignorable="d"
1010
d:DesignHeight="700" d:DesignWidth="800">
1111
<Grid>
1212
<Grid.RowDefinitions>
@@ -25,40 +25,40 @@
2525
<ColumnDefinition Width="1*" />
2626
</Grid.ColumnDefinitions>
2727
<TextBlock Style="{StaticResource MaterialDesignHeadline5TextBlock}">Toggles</TextBlock>
28-
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0 24 0 0">
28+
<StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal" Margin="0 24 0 0">
2929
<smtx:XamlDisplay Key="buttons_33" Margin="5 5 8 8">
3030
<ToggleButton Content="C" Style="{StaticResource MaterialDesignActionLightToggleButton}" IsChecked="True"
31-
ToolTip="MaterialDesignActionLightToggleButton"/>
31+
ToolTip="MaterialDesignActionLightToggleButton" />
3232
</smtx:XamlDisplay>
3333
<smtx:XamlDisplay Key="buttons_34" Margin="0 5 8 8">
3434
<ToggleButton Content="H" Style="{StaticResource MaterialDesignActionToggleButton}"
35-
ToolTip="MaterialDesignActionToggleButton"
36-
materialDesign:ShadowAssist.ShadowDepth="Depth3"/>
35+
ToolTip="MaterialDesignActionToggleButton"
36+
materialDesign:ShadowAssist.ShadowDepth="Depth3" />
3737
</smtx:XamlDisplay>
3838
<smtx:XamlDisplay Key="buttons_35" Margin="0 5 8 8">
3939
<!-- checkbox style same as toggle button -->
4040
<CheckBox Content="E" Style="{StaticResource MaterialDesignActionDarkCheckBox}"
41-
ToolTip="MaterialDesignActionDarkCheckBox"/>
41+
ToolTip="MaterialDesignActionDarkCheckBox" />
4242
</smtx:XamlDisplay>
4343
<smtx:XamlDisplay Key="buttons_36" Margin="0 5 8 8">
4444
<ToggleButton Content="C" Style="{StaticResource MaterialDesignActionAccentToggleButton}"
45-
IsChecked="True"
46-
ToolTip="MaterialDesignActionAccentToggleButton"/>
45+
IsChecked="True"
46+
ToolTip="MaterialDesignActionAccentToggleButton" />
4747
</smtx:XamlDisplay>
4848
<smtx:XamlDisplay Key="buttons_37" Margin="0 5 8 8">
4949
<ToggleButton Content="K" Style="{StaticResource MaterialDesignActionToggleButton}" IsEnabled="False"
50-
ToolTip="MaterialDesignActionToggleButton"/>
50+
ToolTip="MaterialDesignActionToggleButton" />
5151
</smtx:XamlDisplay>
5252
<smtx:XamlDisplay Key="buttons_38" Margin="0 5 8 8">
5353
<ToggleButton Style="{StaticResource MaterialDesignActionToggleButton}"
54-
ToolTip="MaterialDesignActionToggleButton">
55-
<Image Source="Resources/ProfilePic.jpg"></Image>
54+
ToolTip="MaterialDesignActionToggleButton">
55+
<Image Source="Resources/ProfilePic.jpg" />
5656
</ToggleButton>
5757
</smtx:XamlDisplay>
5858
<TextBlock Margin="16 0 8 0" VerticalAlignment="Center">Customise On Content:</TextBlock>
5959
<smtx:XamlDisplay Key="buttons_39">
6060
<ToggleButton Style="{StaticResource MaterialDesignActionToggleButton}"
61-
ToolTip="MaterialDesignActionLightToggleButton">
61+
ToolTip="MaterialDesignActionLightToggleButton">
6262
<ToggleButton.Content>
6363
<materialDesign:PackIcon Kind="EmoticonSad" />
6464
</ToggleButton.Content>
@@ -82,7 +82,7 @@
8282
</RadioButton>
8383
</smtx:XamlDisplay>
8484
<smtx:XamlDisplay Key="buttons_41" Margin="0 5 8 8" VerticalAlignment="Center">
85-
<RadioButton Style="{StaticResource MaterialDesignRadioButton}" >
85+
<RadioButton Style="{StaticResource MaterialDesignRadioButton}">
8686
Ga Ga
8787
</RadioButton>
8888
</smtx:XamlDisplay>
@@ -109,7 +109,7 @@
109109
</CheckBox>
110110
</smtx:XamlDisplay>
111111
<smtx:XamlDisplay Key="buttons_45" Margin="0 5 8 8" VerticalAlignment="Center">
112-
<CheckBox Style="{StaticResource MaterialDesignCheckBox}" IsEnabled="False" IsChecked="True">
112+
<CheckBox Style="{StaticResource MaterialDesignCheckBox}" IsEnabled="False" IsChecked="True">
113113
Disabled
114114
</CheckBox>
115115
</smtx:XamlDisplay>
@@ -136,47 +136,47 @@
136136
</StackPanel>
137137
<StackPanel Grid.Column="0" Grid.Row="4" Margin="0 24 0 0" Orientation="Horizontal">
138138
<smtx:XamlDisplay Key="buttons_46" VerticalAlignment="Center" Margin="5 0 0 0">
139-
<ToggleButton Style="{StaticResource MaterialDesignSwitchToggleButton}" ToolTip="Default ToggleButton Style"/>
139+
<ToggleButton Style="{StaticResource MaterialDesignSwitchToggleButton}" ToolTip="Default ToggleButton Style" />
140140
</smtx:XamlDisplay>
141141
<smtx:XamlDisplay Key="buttons_47" VerticalAlignment="Center" Margin="8 0 0 0">
142142
<ToggleButton Style="{StaticResource MaterialDesignSwitchToggleButton}" IsEnabled="False" />
143143
</smtx:XamlDisplay>
144144
<smtx:XamlDisplay Key="buttons_48" VerticalAlignment="Center" Margin="8 0 0 0">
145145
<ToggleButton Style="{StaticResource MaterialDesignSwitchLightToggleButton}"
146-
ToolTip="MaterialDesignSwitchLightToggleButton" IsChecked="True" />
146+
ToolTip="MaterialDesignSwitchLightToggleButton" IsChecked="True" />
147147
</smtx:XamlDisplay>
148148
<smtx:XamlDisplay Key="buttons_49" VerticalAlignment="Center" Margin="8 0 0 0">
149-
<ToggleButton Style="{StaticResource MaterialDesignSwitchToggleButton}"
150-
ToolTip="MaterialDesignSwitchToggleButton" IsChecked="True" />
149+
<ToggleButton Style="{StaticResource MaterialDesignSwitchToggleButton}"
150+
ToolTip="MaterialDesignSwitchToggleButton" IsChecked="True" />
151151
</smtx:XamlDisplay>
152152
<smtx:XamlDisplay Key="buttons_50" VerticalAlignment="Center" Margin="8 0 0 0">
153153
<ToggleButton Style="{StaticResource MaterialDesignSwitchDarkToggleButton}"
154-
ToolTip="MaterialDesignSwitchDarkToggleButton" IsChecked="True" />
154+
ToolTip="MaterialDesignSwitchDarkToggleButton" IsChecked="True" />
155155
</smtx:XamlDisplay>
156156
<smtx:XamlDisplay Key="buttons_51" VerticalAlignment="Center" Margin="8 0 0 0">
157-
<ToggleButton Style="{StaticResource MaterialDesignSwitchAccentToggleButton}"
158-
ToolTip="MaterialDesignSwitchAccentToggleButton" IsChecked="True" />
157+
<ToggleButton Style="{StaticResource MaterialDesignSwitchAccentToggleButton}"
158+
ToolTip="MaterialDesignSwitchAccentToggleButton" IsChecked="True" />
159159
</smtx:XamlDisplay>
160-
<smtx:XamlDisplay Key="buttons_52" VerticalAlignment="Center" Margin="8 0 0 0" >
160+
<smtx:XamlDisplay Key="buttons_52" VerticalAlignment="Center" Margin="8 0 0 0">
161161
<ToggleButton Style="{StaticResource MaterialDesignSwitchToggleButton}"
162-
ToolTip="MaterialDesignSwitchToggleButton with Content and ToggleButtonAssist.OnContent">
162+
ToolTip="MaterialDesignSwitchToggleButton with Content and ToggleButtonAssist.OnContent">
163163
<materialDesign:PackIcon Kind="Pin" RenderTransformOrigin=".5,.5">
164164
<materialDesign:PackIcon.RenderTransform>
165165
<RotateTransform Angle="45" />
166166
</materialDesign:PackIcon.RenderTransform>
167167
</materialDesign:PackIcon>
168168
<materialDesign:ToggleButtonAssist.OnContent>
169-
<materialDesign:PackIcon Kind="Pin"/>
169+
<materialDesign:PackIcon Kind="Pin" />
170170
</materialDesign:ToggleButtonAssist.OnContent>
171171
</ToggleButton>
172172
</smtx:XamlDisplay>
173173
<smtx:XamlDisplay Key="buttons_64" VerticalAlignment="Center" Margin="8 0 0 0">
174174
<ToggleButton Style="{StaticResource MaterialDesignSwitchToggleButton}" ToolTip="MaterialDesignSwitchToggleButton with Custom Track Background">
175175
<materialDesign:ToggleButtonAssist.SwitchTrackOnBackground>
176-
<SolidColorBrush Color="Green"/>
176+
<SolidColorBrush Color="Green" />
177177
</materialDesign:ToggleButtonAssist.SwitchTrackOnBackground>
178178
<materialDesign:ToggleButtonAssist.SwitchTrackOffBackground>
179-
<SolidColorBrush Color="Red"/>
179+
<SolidColorBrush Color="Red" />
180180
</materialDesign:ToggleButtonAssist.SwitchTrackOffBackground>
181181
</ToggleButton>
182182
</smtx:XamlDisplay>
@@ -187,17 +187,17 @@
187187
<materialDesign:PackIcon Kind="Paperclip" Height="21" Width="21" />
188188
</ToggleButton>
189189
</smtx:XamlDisplay>
190-
<smtx:XamlDisplay Key="buttons_54" Margin="8 0 0 0" VerticalAlignment="Center" >
190+
<smtx:XamlDisplay Key="buttons_54" Margin="8 0 0 0" VerticalAlignment="Center">
191191
<ToggleButton Style="{StaticResource MaterialDesignFlatPrimaryToggleButton}"
192-
ToolTip="MaterialDesignFlatPrimaryToggleButton"
193-
IsChecked="True">
192+
ToolTip="MaterialDesignFlatPrimaryToggleButton"
193+
IsChecked="True">
194194
<materialDesign:PackIcon Kind="Heart" Height="21" Width="21" />
195195
</ToggleButton>
196196
</smtx:XamlDisplay>
197197
<smtx:XamlDisplay Key="buttons_55" Margin="8 0 0 0" VerticalAlignment="Center">
198198
<ToggleButton Style="{StaticResource MaterialDesignFlatPrimaryToggleButton}"
199-
ToolTip="MaterialDesignFlatPrimaryToggleButton"
200-
IsEnabled="False">
199+
ToolTip="MaterialDesignFlatPrimaryToggleButton"
200+
IsEnabled="False">
201201
<materialDesign:PackIcon Kind="Heart" Height="21" Width="21" />
202202
</ToggleButton>
203203
</smtx:XamlDisplay>
@@ -213,21 +213,21 @@
213213
</StackPanel>
214214
</ListBox.ToolTip>
215215
<ListBoxItem>
216-
<materialDesign:PackIcon Kind="FormatAlignLeft"/>
216+
<materialDesign:PackIcon Kind="FormatAlignLeft" />
217217
</ListBoxItem>
218218
<ListBoxItem>
219-
<materialDesign:PackIcon Kind="FormatAlignCenter"/>
219+
<materialDesign:PackIcon Kind="FormatAlignCenter" />
220220
</ListBoxItem>
221221
<ListBoxItem>
222-
<materialDesign:PackIcon Kind="FormatAlignRight"/>
222+
<materialDesign:PackIcon Kind="FormatAlignRight" />
223223
</ListBoxItem>
224224
<ListBoxItem>
225-
<materialDesign:PackIcon Kind="FormatAlignJustify"/>
225+
<materialDesign:PackIcon Kind="FormatAlignJustify" />
226226
</ListBoxItem>
227227
</ListBox>
228228
</smtx:XamlDisplay>
229229
<smtx:XamlDisplay Key="buttons_57" Grid.Column="1" Grid.Row="4" HorizontalAlignment="Left" Margin="0 24 0 0">
230-
<ListBox SelectionMode="Extended" Style="{StaticResource MaterialDesignToolToggleFlatListBox}">
230+
<ListBox SelectionMode="Extended" Style="{StaticResource MaterialDesignToolToggleFlatListBox}">
231231
<ListBox.ToolTip>
232232
<StackPanel>
233233
<TextBlock Text="MaterialDesignToolToggleListBox" />
@@ -236,38 +236,38 @@
236236
</StackPanel>
237237
</ListBox.ToolTip>
238238
<ListBoxItem>
239-
<materialDesign:PackIcon Kind="FormatBold"/>
239+
<materialDesign:PackIcon Kind="FormatBold" />
240240
</ListBoxItem>
241241
<ListBoxItem>
242-
<materialDesign:PackIcon Kind="FormatItalic"/>
242+
<materialDesign:PackIcon Kind="FormatItalic" />
243243
</ListBoxItem>
244-
<ListBoxItem x:Name="UnderlineCheckbox">
245-
<materialDesign:PackIcon Kind="FormatUnderline"/>
244+
<ListBoxItem>
245+
<materialDesign:PackIcon Kind="FormatUnderline" />
246246
</ListBoxItem>
247247
</ListBox>
248248
</smtx:XamlDisplay>
249249
<StackPanel Grid.Column="1" Grid.Row="5" Margin="0 24 0 0">
250250
<smtx:XamlDisplay Key="buttons_60" HorizontalAlignment="Left">
251251
<StackPanel Orientation="Horizontal" Margin="4">
252-
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="True" Content="FIRST"/>
253-
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="False" Content="SECOND"/>
254-
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="False" Content="THIRD"/>
252+
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="True" Content="FIRST" />
253+
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="False" Content="SECOND" />
254+
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="False" Content="THIRD" />
255255
</StackPanel>
256256
</smtx:XamlDisplay>
257257
<smtx:XamlDisplay Key="buttons_61" HorizontalAlignment="Left">
258258
<materialDesign:ColorZone Mode="PrimaryMid">
259-
<StackPanel Orientation="Horizontal" Margin="2" >
260-
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="True" Content="FIRST"/>
261-
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="False" Content="SECOND"/>
262-
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="False" Content="THIRD"/>
259+
<StackPanel Orientation="Horizontal" Margin="2">
260+
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="True" Content="FIRST" />
261+
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="False" Content="SECOND" />
262+
<RadioButton Style="{StaticResource MaterialDesignTabRadioButton}" Margin="4" IsChecked="False" Content="THIRD" />
263263
</StackPanel>
264264
</materialDesign:ColorZone>
265265
</smtx:XamlDisplay>
266266

267267
</StackPanel>
268-
<Border Margin="0 24 0 0" BorderThickness="0 1 0 0" BorderBrush="{DynamicResource MaterialDesignDivider}" Grid.Row="6" Grid.ColumnSpan="2" />
269-
<TextBlock Grid.Row="7" Style="{StaticResource MaterialDesignHeadline5TextBlock}" Margin="0 24">Checkboxes</TextBlock>
270-
<smtx:XamlDisplay Key="fields_35" Grid.Row="8" HorizontalAlignment="Left">
268+
<Border Margin="0 24 0 0" BorderThickness="0 1 0 0" BorderBrush="{DynamicResource MaterialDesignDivider}" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" />
269+
<TextBlock Grid.Row="7" Grid.Column="0" Style="{StaticResource MaterialDesignHeadline5TextBlock}" Margin="0 24">Checkboxes</TextBlock>
270+
<smtx:XamlDisplay Key="checkboxes_1" Grid.Row="8" Grid.Column="0" HorizontalAlignment="Left">
271271
<StackPanel Margin="8 0">
272272
<CheckBox IsChecked="True">Checked</CheckBox>
273273
<CheckBox IsChecked="False">Unchecked</CheckBox>
@@ -277,6 +277,10 @@
277277
<CheckBox IsChecked="{x:Null}" IsEnabled="False">Disabled Indeterminate</CheckBox>
278278
</StackPanel>
279279
</smtx:XamlDisplay>
280+
<smtx:XamlDisplay Key="checkboxes_2" Grid.Row="8" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top">
281+
<StackPanel Margin="8 0">
282+
<CheckBox IsChecked="True" materialDesign:CheckBoxAssist.CheckBoxSize="30">Custom Size</CheckBox>
283+
</StackPanel>
284+
</smtx:XamlDisplay>
280285
</Grid>
281-
</UserControl>
282-
286+
</UserControl>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System.Windows;
2+
3+
namespace MaterialDesignThemes.Wpf
4+
{
5+
public class CheckBoxAssist
6+
{
7+
public static readonly DependencyProperty CheckBoxSizeProperty = DependencyProperty.RegisterAttached(
8+
"CheckBoxSize", typeof(double), typeof(CheckBoxAssist), new PropertyMetadata(18d));
9+
10+
public static void SetCheckBoxSize(DependencyObject element, double value) => element.SetValue(CheckBoxSizeProperty, value);
11+
public static double GetCheckBoxSize(DependencyObject element) => (double) element.GetValue(CheckBoxSizeProperty);
12+
}
13+
}

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.CheckBox.xaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2-
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
2+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3+
xmlns:wpf="clr-namespace:MaterialDesignThemes.Wpf">
34

45
<ResourceDictionary.MergedDictionaries>
56
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ToggleButton.xaml" />
@@ -85,7 +86,9 @@
8586
<ColumnDefinition Width="Auto"/>
8687
<ColumnDefinition Width="*"/>
8788
</Grid.ColumnDefinitions>
88-
<Viewbox Width="18" Height="18" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
89+
<Viewbox Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(wpf:CheckBoxAssist.CheckBoxSize)}"
90+
Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(wpf:CheckBoxAssist.CheckBoxSize)}"
91+
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
8992
FlowDirection="LeftToRight">
9093
<Canvas Width="24" Height="24">
9194
<Path x:Name="Graphic"

0 commit comments

Comments
 (0)