ButtonGroupBaseStyle.xaml 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:hc="clr-namespace:HandyControl.Controls"
  4. xmlns:tools="clr-namespace:HandyControl.Tools">
  5. <ItemsPanelTemplate x:Key="ButtonGroupHorizontalUniformItemsPanelTemplate">
  6. <UniformGrid FocusVisualStyle="{x:Null}" Rows="1"/>
  7. </ItemsPanelTemplate>
  8. <ItemsPanelTemplate x:Key="ButtonGroupVerticalUniformItemsPanelTemplate">
  9. <UniformGrid FocusVisualStyle="{x:Null}" Columns="1"/>
  10. </ItemsPanelTemplate>
  11. <ItemsPanelTemplate x:Key="ButtonGroupHorizontalStackItemsPanelTemplate">
  12. <StackPanel FocusVisualStyle="{x:Null}" Orientation="Horizontal"/>
  13. </ItemsPanelTemplate>
  14. <ItemsPanelTemplate x:Key="ButtonGroupVerticalStackItemsPanelTemplate">
  15. <StackPanel FocusVisualStyle="{x:Null}"/>
  16. </ItemsPanelTemplate>
  17. <tools:ButtonGroupItemStyleSelector x:Key="ButtonGroupItemStyleSelector"/>
  18. <Style x:Key="ButtonGroupBaseStyle" TargetType="hc:ButtonGroup">
  19. <Setter Property="ItemContainerStyleSelector" Value="{StaticResource ButtonGroupItemStyleSelector}"/>
  20. <Setter Property="VerticalAlignment" Value="Top"/>
  21. <Setter Property="Layout" Value="Uniform"/>
  22. <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
  23. <Setter Property="Focusable" Value="False"/>
  24. <Setter Property="ItemsPanel" Value="{StaticResource ButtonGroupHorizontalUniformItemsPanelTemplate}"/>
  25. <Setter Property="hc:VisualElement.HighlightBorderBrush" Value="{DynamicResource PrimaryBrush}"/>
  26. <Setter Property="hc:VisualElement.HighlightBackground" Value="{DynamicResource RegionBrush}"/>
  27. <Setter Property="hc:VisualElement.HighlightForeground" Value="{DynamicResource PrimaryBrush}"/>
  28. <Style.Triggers>
  29. <MultiTrigger>
  30. <MultiTrigger.Conditions>
  31. <Condition Property="Layout" Value="Uniform"/>
  32. <Condition Property="Orientation" Value="Vertical"/>
  33. </MultiTrigger.Conditions>
  34. <Setter Property="ItemsPanel" Value="{StaticResource ButtonGroupVerticalUniformItemsPanelTemplate}"/>
  35. </MultiTrigger>
  36. <MultiTrigger>
  37. <MultiTrigger.Conditions>
  38. <Condition Property="Layout" Value="Stack"/>
  39. <Condition Property="Orientation" Value="Horizontal"/>
  40. </MultiTrigger.Conditions>
  41. <Setter Property="ItemsPanel" Value="{StaticResource ButtonGroupHorizontalStackItemsPanelTemplate}"/>
  42. </MultiTrigger>
  43. <MultiTrigger>
  44. <MultiTrigger.Conditions>
  45. <Condition Property="Layout" Value="Stack"/>
  46. <Condition Property="Orientation" Value="Vertical"/>
  47. </MultiTrigger.Conditions>
  48. <Setter Property="ItemsPanel" Value="{StaticResource ButtonGroupVerticalStackItemsPanelTemplate}"/>
  49. </MultiTrigger>
  50. </Style.Triggers>
  51. </Style>
  52. </ResourceDictionary>