GroupBox.xaml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <GroupBox Style="{DynamicResource GroupBoxStyle1}" x:Class="CustomControls.GroupBox"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  4. <GroupBox.Resources>
  5. <BorderGapMaskConverter x:Key="BorderGapMaskConverter"/>
  6. <Style x:Key="GroupBoxStyle1" TargetType="{x:Type GroupBox}">
  7. <Setter Property="BorderBrush" Value="#DCDCDC"/>
  8. <Setter Property="BorderThickness" Value="1"/>
  9. <Setter Property="Template">
  10. <Setter.Value>
  11. <ControlTemplate TargetType="{x:Type GroupBox}">
  12. <Grid UseLayoutRounding="True">
  13. <Grid.ColumnDefinitions>
  14. <ColumnDefinition Width="6"/>
  15. <ColumnDefinition Width="Auto"/>
  16. <ColumnDefinition Width="*"/>
  17. <ColumnDefinition Width="6"/>
  18. </Grid.ColumnDefinitions>
  19. <Grid.RowDefinitions>
  20. <RowDefinition Height="Auto"/>
  21. <RowDefinition Height="Auto"/>
  22. <RowDefinition Height="*"/>
  23. <RowDefinition Height="1"/>
  24. </Grid.RowDefinitions>
  25. <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="4" Grid.RowSpan="2" Grid.Row="1" Margin="0,-1,0,0" SnapsToDevicePixels="true">
  26. <Border.OpacityMask>
  27. <MultiBinding ConverterParameter="7" Converter="{StaticResource BorderGapMaskConverter}">
  28. <Binding ElementName="Header" Path="ActualWidth"/>
  29. <Binding Path="ActualWidth" RelativeSource="{RelativeSource Self}"/>
  30. <Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}"/>
  31. </MultiBinding>
  32. </Border.OpacityMask>
  33. </Border>
  34. <Border x:Name="Header" Grid.Column="1" Padding="2,0,2,0" Grid.RowSpan="2" Grid.Row="0">
  35. <ContentPresenter ContentSource="Header" RecognizesAccessKey="True" Margin="0,-1,0,0"/>
  36. </Border>
  37. <ContentPresenter Grid.Column="0" Grid.ColumnSpan="4" Margin="{TemplateBinding Padding}" Grid.Row="0" Grid.RowSpan="3"/>
  38. </Grid>
  39. </ControlTemplate>
  40. </Setter.Value>
  41. </Setter>
  42. </Style>
  43. </GroupBox.Resources>
  44. </GroupBox>