Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Material.Styles/MaterialToolKit.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
<ResourceInclude Source="avares://Material.Styles/Resources/Themes/FlyoutPresenter.axaml" />
<ResourceInclude Source="avares://Material.Styles/Resources/Themes/FontFamily.axaml" />
<ResourceInclude Source="avares://Material.Styles/Resources/Themes/GridSplitter.axaml" />
<ResourceInclude Source="avares://Material.Styles/Resources/Themes/GroupBox.axaml" />
<ResourceInclude Source="avares://Material.Styles/Resources/Themes/HeaderedContentControl.axaml" />
<ResourceInclude Source="avares://Material.Styles/Resources/Themes/HyperlinkButton.axaml" />
<ResourceInclude Source="avares://Material.Styles/Resources/Themes/ItemsControl.axaml" />
Expand Down
96 changes: 96 additions & 0 deletions Material.Styles/Resources/Themes/GroupBox.axaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:Avalonia.Controls.Converters;assembly=Avalonia.Controls">

<converters:BorderGapMaskConverter x:Key="BorderGapMaskConverter" />

<ControlTheme x:Key="MaterialGroupBox"
TargetType="GroupBox">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="4" />
<Setter Property="BorderBrush" Value="{DynamicResource MaterialGroupBoxBorderBrush}" />
<Setter Property="Foreground" Value="{DynamicResource MaterialBodyBrush}" />

<Setter Property="Template">
<ControlTemplate>
<Grid x:Name="RootGrid"
ColumnDefinitions="6,Auto,*,6"
RowDefinitions="Auto,Auto,*,6">
<!-- Separate Border for the background because if the background is set
in the Border with the Header the opacity mask will be applied to
the background as well. -->
<Border Grid.Row="1"
Grid.RowSpan="3"
Grid.Column="0"
Grid.ColumnSpan="4"
CornerRadius="{TemplateBinding CornerRadius}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="Transparent"
Background="{TemplateBinding Background}" />

<!--Main Border, the margin is a fix for bottom line being 1 pixel short-->
<Border Grid.Row="1"
Grid.RowSpan="3"
Grid.ColumnSpan="4"
Margin="0,0,0,1"

CornerRadius="{TemplateBinding CornerRadius}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}">
<Border.OpacityMask>
<MultiBinding Converter="{StaticResource BorderGapMaskConverter}"
ConverterParameter="6">
<Binding ElementName="Header"
Path="Bounds.Width" />
<Binding RelativeSource="{RelativeSource Self}"
Path="Bounds.Width" />
<Binding RelativeSource="{RelativeSource Self}"
Path="Bounds.Height" />
</MultiBinding>
</Border.OpacityMask>
</Border>

<!-- ContentPresenter for the header -->
<Border x:Name="Header"
Padding="3,0,3,0"
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="1">
<ContentPresenter Name="PART_HeaderPresenter"
Content="{TemplateBinding Header}"
FontSize="12"
Foreground="{DynamicResource MaterialBodyBrush}"
ContentTemplate="{TemplateBinding HeaderTemplate}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
UseLayoutRounding="{TemplateBinding UseLayoutRounding}" />
</Border>
<!-- Primary content for GroupBox -->
<ContentPresenter Grid.Row="2"
Grid.Column="1"
Grid.ColumnSpan="2"
Name="PART_ContentPresenter"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
UseLayoutRounding="{TemplateBinding UseLayoutRounding}"
Margin="{TemplateBinding Padding}" />
</Grid>
</ControlTemplate>
</Setter>

<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="RecognizesAccessKey" Value="True" />
</Style>

<Style Selector="^ /template/ ContentPresenter#PART_HeaderPresenter">
<Setter Property="RecognizesAccessKey" Value="True" />
</Style>
</ControlTheme>

<ControlTheme x:Key="{x:Type GroupBox}"
TargetType="GroupBox"
BasedOn="{StaticResource MaterialGroupBox}" />

</ResourceDictionary>
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<Color x:Key="MaterialCheckBoxOffColor">#89000000</Color>
<Color x:Key="MaterialCheckBoxDisabledColor">#FFBDBDBD</Color>
<Color x:Key="MaterialTextBoxBorderColor">#89000000</Color>
<Color x:Key="MaterialGroupBoxBorderColor">#89000000</Color>
<Color x:Key="MaterialDividerColor">#1F000000</Color>
<Color x:Key="MaterialSelectionColor">#FFDEDEDE</Color>
<Color x:Key="MaterialToolForegroundColor">#FF616161</Color>
Expand Down Expand Up @@ -48,6 +49,7 @@
<SolidColorBrush x:Key="MaterialCheckBoxDisabledBrush"
Color="{StaticResource MaterialCheckBoxDisabledColor}" />
<SolidColorBrush x:Key="MaterialTextBoxBorderBrush" Color="{StaticResource MaterialTextBoxBorderColor}" />
<SolidColorBrush x:Key="MaterialGroupBoxBorderBrush" Color="{StaticResource MaterialGroupBoxBorderColor}" />
<SolidColorBrush x:Key="MaterialDividerBrush" Color="{StaticResource MaterialDividerColor}" />
<SolidColorBrush x:Key="MaterialSelectionBrush" Color="{StaticResource MaterialSelectionColor}" />
<SolidColorBrush x:Key="MaterialToolForegroundBrush" Color="{StaticResource MaterialToolForegroundColor}" />
Expand Down Expand Up @@ -94,6 +96,7 @@
<Color x:Key="MaterialCheckBoxOffColor">#89FFFFFF</Color>
<Color x:Key="MaterialCheckBoxDisabledColor">#FF647076</Color>
<Color x:Key="MaterialTextBoxBorderColor">#89FFFFFF</Color>
<Color x:Key="MaterialGroupBoxBorderColor">#89FFFFFF</Color>
<Color x:Key="MaterialDividerColor">#1FFFFFFF</Color>
<Color x:Key="MaterialSelectionColor">#757575</Color>
<Color x:Key="MaterialToolForegroundColor">#FF616161</Color>
Expand Down Expand Up @@ -128,6 +131,7 @@
<SolidColorBrush x:Key="MaterialCheckBoxDisabledBrush"
Color="{StaticResource MaterialCheckBoxDisabledColor}" />
<SolidColorBrush x:Key="MaterialTextBoxBorderBrush" Color="{StaticResource MaterialTextBoxBorderColor}" />
<SolidColorBrush x:Key="MaterialGroupBoxBorderBrush" Color="{StaticResource MaterialGroupBoxBorderColor}" />
<SolidColorBrush x:Key="MaterialDividerBrush" Color="{StaticResource MaterialDividerColor}" />
<SolidColorBrush x:Key="MaterialSelectionBrush" Color="{StaticResource MaterialSelectionColor}" />
<SolidColorBrush x:Key="MaterialToolForegroundBrush" Color="{StaticResource MaterialToolForegroundColor}" />
Expand Down Expand Up @@ -179,4 +183,4 @@
<SolidColorBrush x:Key="MaterialDarkSeparatorBackgroundBrush" Color="{StaticResource MaterialDarkSeparatorBackgroundColor}" />
<SolidColorBrush x:Key="MaterialLightSeparatorBackgroundBrush" Color="{StaticResource MaterialLightSeparatorBackgroundColor}" />
<SolidColorBrush x:Key="MaterialValidationErrorForegroundBrush" Color="{StaticResource MaterialValidationErrorForegroundColor}" />
</ResourceDictionary>
</ResourceDictionary>