Browse Source
* Add Fluent HeaderContentControl theme * Fix file name, add content template * Add simple theme for HeaderedContentControl * Add sample page for HeaderedContentControl in the catalog * Change the HeaderedContentControl to use a Grid instead of a stack panel for its layout * Fix template part names * Fix HeaderedContentControl typename * Fix the template part type again * Fix control template namespull/13079/head
committed by
GitHub
8 changed files with 136 additions and 2 deletions
@ -0,0 +1,27 @@ |
|||
<UserControl xmlns="https://github.com/avaloniaui" |
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
|||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" |
|||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" |
|||
x:Class="ControlCatalog.Pages.HeaderedContentPage"> |
|||
<WrapPanel ItemWidth="400"> |
|||
<HeaderedContentControl Header="This is the text header!" |
|||
FontSize="16" |
|||
FontWeight="Bold" |
|||
BorderBrush="Gray" |
|||
BorderThickness="3" |
|||
CornerRadius="3"> |
|||
<TextBlock Text="Some content"/> |
|||
</HeaderedContentControl> |
|||
<HeaderedContentControl Header="This is the image header!"> |
|||
<Image Source="/Assets/delicate-arch-896885_640.jpg"/> |
|||
</HeaderedContentControl> |
|||
<HeaderedContentControl> |
|||
<HeaderedContentControl.Header> |
|||
<Image Source="/Assets/delicate-arch-896885_640.jpg"/> |
|||
</HeaderedContentControl.Header> |
|||
<TextBlock Text="This is the content. But the header can also be non textual"/> |
|||
</HeaderedContentControl> |
|||
</WrapPanel> |
|||
</UserControl> |
|||
|
|||
@ -0,0 +1,14 @@ |
|||
using Avalonia; |
|||
using Avalonia.Controls; |
|||
using Avalonia.Markup.Xaml; |
|||
|
|||
namespace ControlCatalog.Pages; |
|||
|
|||
public partial class HeaderedContentPage : UserControl |
|||
{ |
|||
public HeaderedContentPage() |
|||
{ |
|||
InitializeComponent(); |
|||
} |
|||
} |
|||
|
|||
@ -0,0 +1,43 @@ |
|||
<ResourceDictionary xmlns="https://github.com/avaloniaui" |
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|||
x:ClassModifier="internal"> |
|||
<ControlTheme x:Key="{x:Type HeaderedContentControl}" |
|||
TargetType="HeaderedContentControl"> |
|||
|
|||
<Setter Property="Padding" Value="3" /> |
|||
<Setter Property="Template"> |
|||
<ControlTemplate> |
|||
<Border BorderBrush="{TemplateBinding BorderBrush}" |
|||
BorderThickness="{TemplateBinding BorderThickness}" |
|||
CornerRadius="{TemplateBinding CornerRadius}" |
|||
Background="{TemplateBinding Background}" |
|||
Padding="{TemplateBinding Padding}"> |
|||
<Grid RowDefinitions="auto *"> |
|||
<ContentPresenter Name="PART_HeaderPresenter" |
|||
Content="{TemplateBinding Header}" |
|||
RecognizesAccessKey="True" |
|||
ContentTemplate="{TemplateBinding HeaderTemplate}" |
|||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" |
|||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" |
|||
FontSize="{TemplateBinding FontSize}" |
|||
FontWeight="{TemplateBinding FontWeight}" |
|||
FontFamily="{TemplateBinding FontFamily}" |
|||
FontStyle="{TemplateBinding FontStyle}" |
|||
Grid.Row="0" /> |
|||
<ContentPresenter Name="PART_ContentPresenter" |
|||
ContentTemplate="{TemplateBinding ContentTemplate}" |
|||
Content="{TemplateBinding Content}" |
|||
RecognizesAccessKey="True" |
|||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" |
|||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" |
|||
FontSize="{TemplateBinding FontSize}" |
|||
FontWeight="{TemplateBinding FontWeight}" |
|||
FontFamily="{TemplateBinding FontFamily}" |
|||
FontStyle="{TemplateBinding FontStyle}" |
|||
Grid.Row="1" /> |
|||
</Grid> |
|||
</Border> |
|||
</ControlTemplate> |
|||
</Setter> |
|||
</ControlTheme> |
|||
</ResourceDictionary> |
|||
@ -0,0 +1,43 @@ |
|||
<ResourceDictionary xmlns="https://github.com/avaloniaui" |
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|||
x:ClassModifier="internal"> |
|||
<ControlTheme x:Key="{x:Type HeaderedContentControl}" |
|||
TargetType="HeaderedContentControl"> |
|||
|
|||
<Setter Property="Padding" Value="3" /> |
|||
<Setter Property="Template"> |
|||
<ControlTemplate> |
|||
<Border BorderBrush="{TemplateBinding BorderBrush}" |
|||
BorderThickness="{TemplateBinding BorderThickness}" |
|||
CornerRadius="{TemplateBinding CornerRadius}" |
|||
Background="{TemplateBinding Background}" |
|||
Padding="{TemplateBinding Padding}"> |
|||
<Grid RowDefinitions="auto *"> |
|||
<ContentPresenter Name="PART_HeaderPresenter" |
|||
Content="{TemplateBinding Header}" |
|||
RecognizesAccessKey="True" |
|||
ContentTemplate="{TemplateBinding HeaderTemplate}" |
|||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" |
|||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" |
|||
FontSize="{TemplateBinding FontSize}" |
|||
FontWeight="{TemplateBinding FontWeight}" |
|||
FontFamily="{TemplateBinding FontFamily}" |
|||
FontStyle="{TemplateBinding FontStyle}" |
|||
Grid.Row="0" /> |
|||
<ContentPresenter Name="PART_ContentPresenter" |
|||
ContentTemplate="{TemplateBinding ContentTemplate}" |
|||
Content="{TemplateBinding Content}" |
|||
RecognizesAccessKey="True" |
|||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" |
|||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" |
|||
FontSize="{TemplateBinding FontSize}" |
|||
FontWeight="{TemplateBinding FontWeight}" |
|||
FontFamily="{TemplateBinding FontFamily}" |
|||
FontStyle="{TemplateBinding FontStyle}" |
|||
Grid.Row="1" /> |
|||
</Grid> |
|||
</Border> |
|||
</ControlTemplate> |
|||
</Setter> |
|||
</ControlTheme> |
|||
</ResourceDictionary> |
|||
Loading…
Reference in new issue