Skip to content

Commit 8d78781

Browse files
authored
Added MaterialDesignTabRadioButton orientation styles (#2400)
1 parent 23eb009 commit 8d78781

File tree

2 files changed

+273
-71
lines changed

2 files changed

+273
-71
lines changed

MainDemo.Wpf/Toggles.xaml

Lines changed: 257 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
<RowDefinition Height="Auto"/>
2222
<RowDefinition Height="Auto"/>
2323
<RowDefinition Height="Auto"/>
24+
<RowDefinition Height="Auto"/>
25+
<RowDefinition Height="Auto"/>
26+
<RowDefinition Height="Auto"/>
2427
</Grid.RowDefinitions>
2528

2629
<Grid.ColumnDefinitions>
@@ -465,66 +468,6 @@
465468
</ListBox>
466469
</smtx:XamlDisplay>
467470

468-
<StackPanel
469-
Grid.Column="1"
470-
Grid.Row="5"
471-
Margin="0 24 0 0">
472-
<smtx:XamlDisplay
473-
UniqueKey="buttons_60"
474-
HorizontalAlignment="Left">
475-
<StackPanel
476-
Orientation="Horizontal"
477-
Margin="4">
478-
<RadioButton
479-
Style="{StaticResource MaterialDesignTabRadioButton}"
480-
Margin="4"
481-
IsChecked="True"
482-
Content="FIRST"/>
483-
484-
<RadioButton
485-
Style="{StaticResource MaterialDesignTabRadioButton}"
486-
Margin="4"
487-
IsChecked="False"
488-
Content="SECOND"/>
489-
490-
<RadioButton
491-
Style="{StaticResource MaterialDesignTabRadioButton}"
492-
Margin="4"
493-
IsChecked="False"
494-
IsEnabled="False"
495-
Content="THIRD"/>
496-
</StackPanel>
497-
</smtx:XamlDisplay>
498-
499-
<smtx:XamlDisplay
500-
UniqueKey="buttons_61"
501-
HorizontalAlignment="Left">
502-
<materialDesign:ColorZone Mode="PrimaryMid">
503-
<StackPanel
504-
Orientation="Horizontal"
505-
Margin="2">
506-
<RadioButton
507-
Style="{StaticResource MaterialDesignTabRadioButton}"
508-
Margin="4"
509-
IsChecked="True"
510-
Content="FIRST"/>
511-
512-
<RadioButton
513-
Style="{StaticResource MaterialDesignTabRadioButton}"
514-
Margin="4"
515-
IsChecked="False"
516-
Content="SECOND"/>
517-
518-
<RadioButton
519-
Style="{StaticResource MaterialDesignTabRadioButton}"
520-
Margin="4"
521-
IsChecked="False"
522-
IsEnabled="False"
523-
Content="THIRD"/>
524-
</StackPanel>
525-
</materialDesign:ColorZone>
526-
</smtx:XamlDisplay>
527-
</StackPanel>
528471

529472
<Border
530473
Margin="0 24 0 0"
@@ -597,5 +540,259 @@
597540
materialDesign:RippleAssist.IsDisabled="True"/>
598541
</StackPanel>
599542
</smtx:XamlDisplay>
543+
544+
545+
<TextBlock
546+
Grid.Row="10"
547+
Grid.Column="0"
548+
Style="{StaticResource MaterialDesignHeadline5TextBlock}"
549+
Margin="0 24"
550+
Text="Tabs"/>
551+
552+
<Border
553+
Margin="0 24 0 0"
554+
BorderThickness="0 1 0 0"
555+
BorderBrush="{DynamicResource MaterialDesignDivider}"
556+
Grid.Row="9"
557+
Grid.Column="0"
558+
Grid.ColumnSpan="2"/>
559+
560+
<StackPanel Grid.Row="11">
561+
<WrapPanel Orientation="Horizontal">
562+
<StackPanel>
563+
<smtx:XamlDisplay
564+
UniqueKey="buttons_60"
565+
HorizontalAlignment="Left">
566+
<StackPanel
567+
Orientation="Horizontal"
568+
Margin="4">
569+
<RadioButton
570+
Style="{StaticResource MaterialDesignTabRadioButton}"
571+
Margin="4"
572+
IsChecked="True"
573+
Content="FIRST"/>
574+
575+
<RadioButton
576+
Style="{StaticResource MaterialDesignTabRadioButton}"
577+
Margin="4"
578+
IsChecked="False"
579+
Content="SECOND"/>
580+
581+
<RadioButton
582+
Style="{StaticResource MaterialDesignTabRadioButton}"
583+
Margin="4"
584+
IsChecked="False"
585+
IsEnabled="False"
586+
Content="THIRD"/>
587+
</StackPanel>
588+
</smtx:XamlDisplay>
589+
590+
<smtx:XamlDisplay
591+
UniqueKey="buttons_61"
592+
HorizontalAlignment="Left">
593+
<materialDesign:ColorZone Mode="PrimaryMid">
594+
<StackPanel
595+
Orientation="Horizontal"
596+
Margin="2">
597+
<RadioButton
598+
Style="{StaticResource MaterialDesignTabRadioButton}"
599+
Margin="4"
600+
IsChecked="True"
601+
Content="FIRST"/>
602+
603+
<RadioButton
604+
Style="{StaticResource MaterialDesignTabRadioButton}"
605+
Margin="4"
606+
IsChecked="False"
607+
Content="SECOND"/>
608+
609+
<RadioButton
610+
Style="{StaticResource MaterialDesignTabRadioButton}"
611+
Margin="4"
612+
IsChecked="False"
613+
IsEnabled="False"
614+
Content="THIRD"/>
615+
</StackPanel>
616+
</materialDesign:ColorZone>
617+
</smtx:XamlDisplay>
618+
</StackPanel>
619+
620+
<StackPanel>
621+
<smtx:XamlDisplay
622+
UniqueKey="buttons_71"
623+
HorizontalAlignment="Left">
624+
<StackPanel
625+
Orientation="Horizontal"
626+
Margin="4">
627+
<RadioButton
628+
Style="{StaticResource MaterialDesignTabRadioButtonTop}"
629+
Margin="4"
630+
IsChecked="True"
631+
Content="FIRST"/>
632+
633+
<RadioButton
634+
Style="{StaticResource MaterialDesignTabRadioButtonTop}"
635+
Margin="4"
636+
IsChecked="False"
637+
Content="SECOND"/>
638+
639+
<RadioButton
640+
Style="{StaticResource MaterialDesignTabRadioButtonTop}"
641+
Margin="4"
642+
IsChecked="False"
643+
IsEnabled="False"
644+
Content="THIRD"/>
645+
</StackPanel>
646+
</smtx:XamlDisplay>
647+
648+
<smtx:XamlDisplay
649+
UniqueKey="buttons_72"
650+
HorizontalAlignment="Left">
651+
<materialDesign:ColorZone Mode="PrimaryMid">
652+
<StackPanel
653+
Orientation="Horizontal"
654+
Margin="2">
655+
<RadioButton
656+
Style="{StaticResource MaterialDesignTabRadioButtonTop}"
657+
Margin="4"
658+
IsChecked="True"
659+
Content="FIRST"/>
660+
661+
<RadioButton
662+
Style="{StaticResource MaterialDesignTabRadioButtonTop}"
663+
Margin="4"
664+
IsChecked="False"
665+
Content="SECOND"/>
666+
667+
<RadioButton
668+
Style="{StaticResource MaterialDesignTabRadioButtonTop}"
669+
Margin="4"
670+
IsChecked="False"
671+
IsEnabled="False"
672+
Content="THIRD"/>
673+
</StackPanel>
674+
</materialDesign:ColorZone>
675+
</smtx:XamlDisplay>
676+
</StackPanel>
677+
678+
</WrapPanel>
679+
<WrapPanel Orientation="Horizontal" Margin="0 24 0 0">
680+
<StackPanel Orientation="Horizontal">
681+
<smtx:XamlDisplay
682+
UniqueKey="buttons_73"
683+
HorizontalAlignment="Left">
684+
<StackPanel
685+
Orientation="Vertical"
686+
Margin="4">
687+
<RadioButton
688+
Style="{StaticResource MaterialDesignTabRadioButtonRight}"
689+
Margin="4"
690+
IsChecked="True"
691+
Content="FIRST"/>
692+
693+
<RadioButton
694+
Style="{StaticResource MaterialDesignTabRadioButtonRight}"
695+
Margin="4"
696+
IsChecked="False"
697+
Content="SECOND"/>
698+
699+
<RadioButton
700+
Style="{StaticResource MaterialDesignTabRadioButtonRight}"
701+
Margin="4"
702+
IsChecked="False"
703+
IsEnabled="False"
704+
Content="THIRD"/>
705+
</StackPanel>
706+
</smtx:XamlDisplay>
707+
708+
<smtx:XamlDisplay
709+
UniqueKey="buttons_74"
710+
HorizontalAlignment="Left">
711+
<materialDesign:ColorZone Mode="PrimaryMid">
712+
<StackPanel
713+
Orientation="Vertical"
714+
Margin="2">
715+
<RadioButton
716+
Style="{StaticResource MaterialDesignTabRadioButtonRight}"
717+
Margin="4"
718+
IsChecked="True"
719+
Content="FIRST"/>
720+
721+
<RadioButton
722+
Style="{StaticResource MaterialDesignTabRadioButtonRight}"
723+
Margin="4"
724+
IsChecked="False"
725+
Content="SECOND"/>
726+
727+
<RadioButton
728+
Style="{StaticResource MaterialDesignTabRadioButtonRight}"
729+
Margin="4"
730+
IsChecked="False"
731+
IsEnabled="False"
732+
Content="THIRD"/>
733+
</StackPanel>
734+
</materialDesign:ColorZone>
735+
</smtx:XamlDisplay>
736+
</StackPanel>
737+
738+
<StackPanel Orientation="Horizontal">
739+
<smtx:XamlDisplay
740+
UniqueKey="buttons_75"
741+
HorizontalAlignment="Left">
742+
<StackPanel
743+
Orientation="Vertical"
744+
Margin="4">
745+
<RadioButton
746+
Style="{StaticResource MaterialDesignTabRadioButtonLeft}"
747+
Margin="4"
748+
IsChecked="True"
749+
Content="FIRST"/>
750+
751+
<RadioButton
752+
Style="{StaticResource MaterialDesignTabRadioButtonLeft}"
753+
Margin="4"
754+
IsChecked="False"
755+
Content="SECOND"/>
756+
757+
<RadioButton
758+
Style="{StaticResource MaterialDesignTabRadioButtonLeft}"
759+
Margin="4"
760+
IsChecked="False"
761+
IsEnabled="False"
762+
Content="THIRD"/>
763+
</StackPanel>
764+
</smtx:XamlDisplay>
765+
766+
<smtx:XamlDisplay
767+
UniqueKey="buttons_76"
768+
HorizontalAlignment="Left">
769+
<materialDesign:ColorZone Mode="PrimaryMid">
770+
<StackPanel
771+
Orientation="Vertical"
772+
Margin="2">
773+
<RadioButton
774+
Style="{StaticResource MaterialDesignTabRadioButtonLeft}"
775+
Margin="4"
776+
IsChecked="True"
777+
Content="FIRST"/>
778+
779+
<RadioButton
780+
Style="{StaticResource MaterialDesignTabRadioButtonLeft}"
781+
Margin="4"
782+
IsChecked="False"
783+
Content="SECOND"/>
784+
785+
<RadioButton
786+
Style="{StaticResource MaterialDesignTabRadioButtonLeft}"
787+
Margin="4"
788+
IsChecked="False"
789+
IsEnabled="False"
790+
Content="THIRD"/>
791+
</StackPanel>
792+
</materialDesign:ColorZone>
793+
</smtx:XamlDisplay>
794+
</StackPanel>
795+
</WrapPanel>
796+
</StackPanel>
600797
</Grid>
601798
</UserControl>

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.RadioButton.xaml

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -242,10 +242,6 @@
242242
<Setter.Value>
243243
<ControlTemplate TargetType="{x:Type RadioButton}">
244244
<Grid SnapsToDevicePixels="true">
245-
<Grid.RowDefinitions>
246-
<RowDefinition Height="*" />
247-
<RowDefinition Height="Auto" />
248-
</Grid.RowDefinitions>
249245
<ProgressBar x:Name="ProgressBar"
250246
Style="{DynamicResource MaterialDesignLinearProgressBar}"
251247
Minimum="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(wpf:ButtonProgressAssist.Minimum)}"
@@ -260,10 +256,8 @@
260256
Opacity="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(wpf:ButtonProgressAssist.Opacity)}"
261257
HorizontalAlignment="Left"
262258
VerticalAlignment="Center"
263-
BorderThickness="0"
264-
Grid.Row="0"
265-
Grid.RowSpan="2" />
266-
<Border Background="{TemplateBinding Background}" Grid.Row="0">
259+
BorderThickness="0" />
260+
<Border Background="{TemplateBinding Background}" Margin="{TemplateBinding BorderThickness}">
267261
<wpf:Ripple Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" Focusable="False"
268262
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
269263
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
@@ -272,8 +266,7 @@
272266
Opacity=".82"
273267
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
274268
</Border>
275-
<Border x:Name="SelectionHighlightBorder" Background="{TemplateBinding BorderBrush}" Height="2"
276-
Grid.Row="1"
269+
<Border x:Name="SelectionHighlightBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"
277270
Visibility="Hidden" />
278271
</Grid>
279272
<ControlTemplate.Triggers>
@@ -289,7 +282,19 @@
289282
</Setter.Value>
290283
</Setter>
291284
</Style>
292-
285+
<Style x:Key="MaterialDesignTabRadioButtonLeft" TargetType="{x:Type RadioButton}" BasedOn="{StaticResource MaterialDesignTabRadioButton}">
286+
<Setter Property="BorderThickness" Value="2 0 0 0" />
287+
</Style>
288+
<Style x:Key="MaterialDesignTabRadioButtonTop" TargetType="{x:Type RadioButton}" BasedOn="{StaticResource MaterialDesignTabRadioButton}">
289+
<Setter Property="BorderThickness" Value="0 2 0 0" />
290+
</Style>
291+
<Style x:Key="MaterialDesignTabRadioButtonRight" TargetType="{x:Type RadioButton}" BasedOn="{StaticResource MaterialDesignTabRadioButton}">
292+
<Setter Property="BorderThickness" Value="0 0 2 0" />
293+
</Style>
294+
<Style x:Key="MaterialDesignTabRadioButtonBottom" TargetType="{x:Type RadioButton}" BasedOn="{StaticResource MaterialDesignTabRadioButton}">
295+
<Setter Property="BorderThickness" Value="0 0 0 2" />
296+
</Style>
297+
293298
<Style x:Key="MaterialDesignToolRadioButton" TargetType="{x:Type RadioButton}">
294299
<Setter Property="Background" Value="Transparent"/>
295300
<Setter Property="Foreground" Value="{DynamicResource MaterialDesignBody}"/>

0 commit comments

Comments
 (0)