131 lines
6.3 KiB
XML
131 lines
6.3 KiB
XML
<ResourceDictionary
|
|
xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:u="https://irihi.tech/ursa"
|
|
xmlns:converters="clr-namespace:Ursa.Themes.Semi.Converters">
|
|
<!-- Add Resources Here -->
|
|
<ControlTheme x:Key="{x:Type u:Form}"
|
|
TargetType="u:Form">
|
|
<Setter Property="Grid.IsSharedSizeScope"
|
|
Value="False" />
|
|
<Setter Property="HorizontalAlignment" Value="Left" />
|
|
<Setter Property="Template">
|
|
<ControlTemplate TargetType="u:Form">
|
|
<DataValidationErrors>
|
|
<ItemsPresenter
|
|
ItemsPanel="{TemplateBinding ItemsPanel}" />
|
|
</DataValidationErrors>
|
|
</ControlTemplate>
|
|
</Setter>
|
|
<Style Selector="^:fixed-width">
|
|
<Setter Property="Grid.IsSharedSizeScope"
|
|
Value="True" />
|
|
</Style>
|
|
</ControlTheme>
|
|
|
|
<ControlTheme x:Key="{x:Type u:FormGroup}"
|
|
TargetType="u:FormGroup">
|
|
<Setter Property="Template">
|
|
<ControlTemplate TargetType="u:FormGroup">
|
|
<StackPanel>
|
|
<ContentPresenter
|
|
Margin="0,28,0,0"
|
|
Content="{TemplateBinding Header}"
|
|
FontSize="18"
|
|
FontWeight="{DynamicResource TextBlockTitleFontWeight}"
|
|
IsVisible="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Header, Converter={x:Static ObjectConverters.IsNotNull}}" />
|
|
<Rectangle
|
|
Height="1"
|
|
Margin="0,8"
|
|
HorizontalAlignment="Stretch"
|
|
Fill="{DynamicResource FormGroupForeground}"
|
|
IsVisible="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Header, Converter={x:Static ObjectConverters.IsNotNull}}" />
|
|
<ItemsPresenter
|
|
ItemsPanel="{TemplateBinding ItemsPanel}" />
|
|
</StackPanel>
|
|
</ControlTemplate>
|
|
</Setter>
|
|
</ControlTheme>
|
|
|
|
<ControlTheme x:Key="{x:Type u:FormItem}"
|
|
TargetType="u:FormItem">
|
|
<Setter Property="Margin" Value="0 8" />
|
|
<Setter Property="Template">
|
|
<ControlTemplate TargetType="u:FormItem">
|
|
<StackPanel>
|
|
<StackPanel
|
|
Name="PART_LabelPanel"
|
|
Margin="0,0,0,4"
|
|
HorizontalAlignment="{TemplateBinding LabelAlignment}"
|
|
Orientation="Horizontal">
|
|
<Label
|
|
Name="PART_Label"
|
|
Content="{TemplateBinding Label}"
|
|
Background="Transparent"
|
|
FontWeight="{DynamicResource TextBlockTitleFontWeight}"
|
|
Target="{Binding #PART_ContentPresenter.Content}" />
|
|
<TextBlock
|
|
Foreground="{DynamicResource FormAsteriskForeground}"
|
|
IsVisible="{TemplateBinding IsRequired}"
|
|
Text="*" />
|
|
</StackPanel>
|
|
<ContentPresenter
|
|
Name="PART_ContentPresenter"
|
|
ContentTemplate="{TemplateBinding ContentTemplate}"
|
|
Content="{TemplateBinding Content}" />
|
|
</StackPanel>
|
|
</ControlTemplate>
|
|
</Setter>
|
|
<Style Selector="^:not(:no-label):horizontal">
|
|
<Setter Property="Template">
|
|
<ControlTemplate TargetType="u:FormItem">
|
|
<Grid RowDefinitions="*, *">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"
|
|
SharedSizeGroup="Label" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Border
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Width="{TemplateBinding LabelWidth}">
|
|
<StackPanel
|
|
Name="PART_LabelPanel"
|
|
Margin="{Binding #PART_Label.Bounds.Height, Converter={x:Static converters:FormContentHeightToMarginConverter.Instance}}"
|
|
HorizontalAlignment="{TemplateBinding LabelAlignment}"
|
|
VerticalAlignment="{Binding #PART_ContentPresenter.Bounds.Height, Converter={x:Static converters:FormContentHeightToAlignmentConverter.Instance}}"
|
|
Orientation="Horizontal">
|
|
<Label
|
|
Name="PART_Label"
|
|
Content="{TemplateBinding Label}"
|
|
Background="Transparent"
|
|
FontWeight="{DynamicResource TextBlockTitleFontWeight}"/>
|
|
<TextBlock
|
|
Foreground="{DynamicResource FormAsteriskForeground}"
|
|
IsVisible="{TemplateBinding IsRequired}"
|
|
Text="*" />
|
|
</StackPanel>
|
|
</Border>
|
|
<ContentPresenter
|
|
Name="PART_ContentPresenter"
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
VerticalAlignment="Stretch"
|
|
VerticalContentAlignment="Center"
|
|
ContentTemplate="{TemplateBinding ContentTemplate}"
|
|
Content="{TemplateBinding Content}" />
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter>
|
|
</Style>
|
|
<Style Selector="^:no-label">
|
|
<Setter Property="Template">
|
|
<ControlTemplate TargetType="u:FormItem">
|
|
<ContentPresenter
|
|
ContentTemplate="{TemplateBinding ContentTemplate}"
|
|
Content="{TemplateBinding Content}" />
|
|
</ControlTemplate>
|
|
</Setter>
|
|
</Style>
|
|
</ControlTheme>
|
|
</ResourceDictionary> |