Allow more AbsUI theming

This commit is contained in:
Yoshi Askharoun
2024-05-17 20:53:11 -05:00
parent 215e413a7d
commit 1e39cbfeca
8 changed files with 55 additions and 58 deletions
@@ -14,14 +14,12 @@
<DataTemplate x:Key="DefaultAbstractBooleanTemplate" DataType="abstractUI:AbstractBooleanViewModel">
<StackPanel Margin="0,4,0,0">
<TextBlock Text="{Binding Title, Mode=OneWay}"
FontSize="{StaticResource DefaultAbstractUITitleFontSize}"
Style="{DynamicResource AbstractUICollectionTitleStyle}"
ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Visibility="{Binding Title, TargetNullValue=Collapsed, Mode=OneWay}" />
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
FontSize="{StaticResource DefaultAbstractUISubtitleFontSize}"
FontWeight="{StaticResource DefaultAbstractUISubtitleFontWeight}"
Opacity="{StaticResource DefaultAbstractUISubtitleOpacity}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}"
Visibility="{Binding Subtitle, TargetNullValue=Collapsed}"/>
<CheckBox ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
@@ -34,12 +34,12 @@
<DataTemplate x:Key="DefaultAbstractButtonTemplate" DataType="abstractUI:AbstractButtonViewModel">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" FontSize="{StaticResource DefaultAbstractUITitleFontSize}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}" />
<TextBlock Text="{Binding Title, Mode=OneWay}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionTitleStyle}"/>
<TextBlock Text="{Binding Subtitle, Mode=OneWay}" FontSize="{StaticResource DefaultAbstractUISubtitleFontSize}"
FontWeight="{StaticResource DefaultAbstractUISubtitleFontWeight}"
Opacity="{StaticResource DefaultAbstractUISubtitleOpacity}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"/>
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<Button Style="{Binding Type, Converter={StaticResource ButtonStyleSelector}, Mode=OneWay}" Command="{Binding ClickCommand}">
<Grid>
@@ -18,7 +18,11 @@
<convertvis:NotNullOrEmptyToVisibilityConverter x:Key="NotNullOrEmptyToVisibilityConverter"/>
<converters:SelectionChangedEventArgsToClickedItemConverter x:Key="SelectionChangedEventArgsToClickedItemConverter" />
<SolidColorBrush x:Key="AbstractDataListItemBorderBrush" Color="Gray" />
<Style x:Key="AbstractDataListGridItemBorderStyle" TargetType="Border">
<Setter Property="BorderBrush" Value="Gray"/>
<Setter Property="BorderThickness" Value="1"/>
</Style>
<SolidColorBrush x:Key="AbstractDataListGridForegroundBrush" Color="Black" />
<DataTemplate x:Key="DefaultAbstractDataListListTemplate" DataType="abstractUI:AbstractDataListViewModel">
<ListView x:Name="PrimaryListView" ItemsSource="{Binding Items}" SelectionMode="Single" Margin="10">
@@ -93,10 +97,10 @@
Visibility="{Binding Path=Title, TargetNullValue=Collapsed, Mode=OneWay}"/>
<TextBlock x:Name="SubtitleTextBlock" Grid.Column="2" Grid.Row="1"
VerticalAlignment="Center"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"
Text="{Binding Subtitle, Mode=OneWay}"
FontSize="16" FontWeight="Light" Opacity="0.75" />
VerticalAlignment="Center"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"
Text="{Binding Subtitle, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
@@ -105,7 +109,7 @@
<DataTemplate x:Key="DefaultAbstractDataListGridTemplate" DataType="abstractUI:AbstractDataListViewModel">
<ListView SelectionMode="Single" ItemsSource="{Binding Items}"
Background="Transparent" Foreground="{DynamicResource ZuneMediumTextBrush}"
Background="Transparent" Foreground="{DynamicResource AbstractDataListGridForegroundBrush}"
BorderThickness="0">
<behaviors:Interaction.Triggers>
<behaviors:EventTrigger EventName="SelectionChanged">
@@ -144,11 +148,12 @@
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border BorderBrush="{DynamicResource AbstractDataListItemBorderBrush}" BorderThickness="1">
<Grid Height="150" Width="150" Grid.ColumnSpan="2">
<Border Style="{DynamicResource AbstractDataListGridItemBorderStyle}">
<Grid Height="150" Width="150">
<TextBlock Text="{Binding IconCode}" FontFamily="Segoe MDL2 Assets" FontSize="34"
VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Visibility="{Binding IsAddItem, Converter={StaticResource BoolToVisibilityConverter}}" Text="&#xE710;" FontFamily="Segoe MDL2 Assets" FontSize="34" />
<TextBlock Visibility="{Binding IsAddItem, Converter={StaticResource BoolToVisibilityConverter}}"
Text="&#xE710;" FontFamily="Segoe MDL2 Assets" FontSize="34" />
<Image Source="{Binding ImageSource, Mode=OneWay}"/>
</Grid>
</Border>
@@ -168,9 +173,9 @@
</Button>
</Border>
<TextBlock x:Name="SubtitleTextBlock" Grid.Row="2" Grid.ColumnSpan="2"
Text="{Binding Subtitle}"
FontSize="12" FontWeight="Light" Opacity="0.5" TextTrimming="CharacterEllipsis" />
<TextBlock x:Name="SubtitleTextBlock" Grid.Row="2" Grid.ColumnSpan="2"
Text="{Binding Subtitle}" Style="{DynamicResource AbstractUICollectionSubtitleStyle}"
TextTrimming="CharacterEllipsis" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
@@ -179,12 +184,12 @@
<DataTemplate x:Key="DefaultAbstractDataListTemplate" DataType="abstractUI:AbstractDataListViewModel">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" FontSize="{StaticResource DefaultAbstractUITitleFontSize}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}" />
<TextBlock Text="{Binding Title, Mode=OneWay}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionTitleStyle}" />
<TextBlock Text="{Binding Subtitle, Mode=OneWay}" FontSize="{StaticResource DefaultAbstractUISubtitleFontSize}"
FontWeight="{StaticResource DefaultAbstractUISubtitleFontWeight}"
Opacity="{StaticResource DefaultAbstractUISubtitleOpacity}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay, Converter={StaticResource NotNullOrEmptyToVisibilityConverter}}"/>
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay, Converter={StaticResource NotNullOrEmptyToVisibilityConverter}}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<ContentControl Content="{Binding}">
<ContentControl.ContentTemplateSelector>
@@ -44,12 +44,12 @@
<DataTemplate x:Key="DefaultAbstractMultipleChoiceTemplate" DataType="abstractUI:AbstractMultiChoiceUIElementViewModel">
<StackPanel>
<TextBlock Text="{Binding Title}" FontSize="{StaticResource DefaultAbstractUITitleFontSize}" ToolTipService.ToolTip="{Binding TooltipText}" />
<TextBlock Text="{Binding Title}" ToolTipService.ToolTip="{Binding TooltipText}"
Style="{DynamicResource AbstractUICollectionTitleStyle}" />
<TextBlock Text="{Binding Subtitle}" FontSize="{StaticResource DefaultAbstractUISubtitleFontSize}"
FontWeight="{StaticResource DefaultAbstractUISubtitleFontWeight}"
Opacity="{StaticResource DefaultAbstractUISubtitleOpacity}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed}"/>
<TextBlock Text="{Binding Subtitle}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<ContentControl Content="{Binding}" Margin="0,5,0,0">
<ContentControl.ContentTemplateSelector>
@@ -13,12 +13,12 @@
<DataTemplate x:Key="DefaultAbstractProgressUIElementTemplate" DataType="abstractUI:AbstractProgressIndicatorViewModel">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" FontSize="{StaticResource DefaultAbstractUITitleFontSize}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}" />
<TextBlock Text="{Binding Title, Mode=OneWay}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionTitleStyle}" />
<TextBlock Text="{Binding Subtitle, Mode=OneWay}" FontSize="{StaticResource DefaultAbstractUISubtitleFontSize}"
FontWeight="{StaticResource DefaultAbstractUISubtitleFontWeight}"
Opacity="{StaticResource DefaultAbstractUISubtitleOpacity}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"/>
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<ProgressBar Value="{Binding Value, Mode=OneWay}" Minimum="{Binding Minimum, Mode=OneWay}" Maximum="{Binding Maximum, Mode=OneWay}" IsIndeterminate="{Binding IsIndeterminate, Mode=OneWay}"/>
</StackPanel>
@@ -11,15 +11,16 @@
<DataTemplate x:Key="DefaultAbstractRichTextBlockTemplate" DataType="abstractUI:AbstractRichTextBlockViewModel">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" FontSize="{StaticResource DefaultAbstractUITitleFontSize}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}" />
<TextBlock Text="{Binding Title, Mode=OneWay}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionTitleStyle}" />
<TextBlock Text="{Binding Subtitle, Mode=OneWay}" FontSize="{StaticResource DefaultAbstractUISubtitleFontSize}"
FontWeight="{StaticResource DefaultAbstractUISubtitleFontWeight}"
Opacity="{StaticResource DefaultAbstractUISubtitleOpacity}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"/>
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<!-- TODO: Marddown text block for WPF? -->
<!--<controls:MarkdownTextBlock Text="{Binding RichText}"/>-->
<TextBlock Text="{Binding RichText}"/>
</StackPanel>
</DataTemplate>
@@ -13,12 +13,12 @@
<DataTemplate x:Key="DefaultAbstractTextBoxTemplate" DataType="abstractUI:AbstractTextBoxViewModel">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" FontSize="{StaticResource DefaultAbstractUITitleFontSize}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}" />
<TextBlock Text="{Binding Title, Mode=OneWay}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionTitleStyle}" />
<TextBlock Text="{Binding Subtitle, Mode=OneWay}" FontSize="{StaticResource DefaultAbstractUISubtitleFontSize}"
FontWeight="{StaticResource DefaultAbstractUISubtitleFontWeight}"
Opacity="{StaticResource DefaultAbstractUISubtitleOpacity}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"/>
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<TextBox Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Margin="0,5,0,0"
@@ -1,22 +1,15 @@
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:core="clr-namespace:System;assembly=System.Runtime">
<core:Double x:Key="DefaultAbstractUITitleFontSize">24</core:Double>
<core:Double x:Key="DefaultAbstractUISubtitleFontSize">18</core:Double>
<FontWeight x:Key="DefaultAbstractUISubtitleFontWeight">Light</FontWeight>
<core:Double x:Key="DefaultAbstractUISubtitleOpacity">0.5</core:Double>
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="AbstractUICollectionTitleStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="{DynamicResource DefaultAbstractUITitleFontSize}"/>
<Setter Property="FontSize" Value="24"/>
</Style>
<Style x:Key="AbstractUICollectionSubtitleStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="{StaticResource DefaultAbstractUISubtitleFontSize}"/>
<Setter Property="FontWeight" Value="{StaticResource DefaultAbstractUISubtitleFontWeight}"/>
<Setter Property="Opacity" Value="{StaticResource DefaultAbstractUISubtitleOpacity}"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="FontWeight" Value="Light"/>
<Setter Property="Opacity" Value="0.5"/>
</Style>
</ResourceDictionary>