Hide title or subtitle if null

This commit is contained in:
Yoshi Askharoun
2024-05-17 23:41:57 -05:00
parent 6a9239eea9
commit 4ebd26dfd8
9 changed files with 24 additions and 17 deletions
@@ -4,7 +4,6 @@
x:Class="OwlCore.Wpf.AbstractUI.Themes.AbstractBooleanStyle"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:abstractUI="clr-namespace:OwlCore.AbstractUI.ViewModels;assembly=OwlCore.AbstractUI"
xmlns:convertvis="clr-namespace:OwlCore.Wpf.Converters.Bools.Visible"
xmlns:controls="clr-namespace:OwlCore.Wpf.AbstractUI.Controls">
<ResourceDictionary.MergedDictionaries>
@@ -16,11 +15,11 @@
<TextBlock Text="{Binding Title, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionTitleStyle}"
ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Visibility="{Binding Title, TargetNullValue=Collapsed, Mode=OneWay}" />
Visibility="{Binding Title, Converter={StaticResource NotNullToVis}}" />
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}"
Visibility="{Binding Subtitle, TargetNullValue=Collapsed}"/>
Visibility="{Binding Subtitle, Converter={StaticResource NotNullToVis}}"/>
<CheckBox ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Content="{Binding Label, Mode=OneWay}"
@@ -4,7 +4,6 @@
x:Class="OwlCore.Wpf.AbstractUI.Themes.AbstractButtonStyle"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:abstractUI="clr-namespace:OwlCore.AbstractUI.ViewModels;assembly=OwlCore.AbstractUI"
xmlns:convertvis="clr-namespace:OwlCore.Wpf.Converters.Bools.Visible"
xmlns:controls="clr-namespace:OwlCore.Wpf.AbstractUI.Controls"
xmlns:local="clr-namespace:OwlCore.Wpf.AbstractUI.Themes">
@@ -35,10 +34,11 @@
<DataTemplate x:Key="DefaultAbstractButtonTemplate" DataType="abstractUI:AbstractButtonViewModel">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Visibility="{Binding Title, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionTitleStyle}"/>
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<Button Style="{Binding Type, Converter={StaticResource ButtonStyleSelector}, Mode=OneWay}" Command="{Binding ClickCommand}">
@@ -185,10 +185,11 @@
<DataTemplate x:Key="DefaultAbstractDataListTemplate" DataType="abstractUI:AbstractDataListViewModel">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Visibility="{Binding Title, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionTitleStyle}" />
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay, Converter={StaticResource NotNullOrEmptyToVisibilityConverter}}"
Visibility="{Binding Subtitle, Converter={StaticResource NotNullOrEmptyToVisibilityConverter}}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<ContentControl Content="{Binding}">
@@ -4,7 +4,6 @@
x:Class="OwlCore.Wpf.AbstractUI.Themes.AbstractMultiChoiceUIElementStyle"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:abstractUI="clr-namespace:OwlCore.AbstractUI.ViewModels;assembly=OwlCore.AbstractUI"
xmlns:convertvis="clr-namespace:OwlCore.Wpf.Converters.Bools.Visible"
xmlns:controls="clr-namespace:OwlCore.Wpf.AbstractUI.Controls"
xmlns:themes="clr-namespace:OwlCore.Wpf.AbstractUI.Themes">
@@ -45,10 +44,11 @@
<DataTemplate x:Key="DefaultAbstractMultipleChoiceTemplate" DataType="abstractUI:AbstractMultiChoiceUIElementViewModel">
<StackPanel>
<TextBlock Text="{Binding Title}" ToolTipService.ToolTip="{Binding TooltipText}"
Visibility="{Binding Title, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionTitleStyle}" />
<TextBlock Text="{Binding Subtitle}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed}"
Visibility="{Binding Subtitle, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<ContentControl Content="{Binding}" Margin="0,5,0,0">
@@ -14,13 +14,16 @@
<DataTemplate x:Key="DefaultAbstractProgressUIElementTemplate" DataType="abstractUI:AbstractProgressIndicatorViewModel">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Visibility="{Binding Title, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionTitleStyle}" />
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<ProgressBar Value="{Binding Value, Mode=OneWay}" Minimum="{Binding Minimum, Mode=OneWay}" Maximum="{Binding Maximum, Mode=OneWay}" IsIndeterminate="{Binding IsIndeterminate, Mode=OneWay}"/>
<ProgressBar Value="{Binding Value, Mode=OneWay}"
Minimum="{Binding Minimum, Mode=OneWay}" Maximum="{Binding Maximum, Mode=OneWay}"
IsIndeterminate="{Binding IsIndeterminate, Mode=OneWay}"/>
</StackPanel>
</DataTemplate>
@@ -12,10 +12,11 @@
<DataTemplate x:Key="DefaultAbstractRichTextBlockTemplate" DataType="abstractUI:AbstractRichTextBlockViewModel">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Visibility="{Binding Title, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionTitleStyle}" />
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<!-- TODO: Marddown text block for WPF? -->
@@ -14,10 +14,11 @@
<DataTemplate x:Key="DefaultAbstractTextBoxTemplate" DataType="abstractUI:AbstractTextBoxViewModel">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Visibility="{Binding Title, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionTitleStyle}" />
<TextBlock Text="{Binding Subtitle, Mode=OneWay}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"
Visibility="{Binding Subtitle, Converter={StaticResource NotNullToVis}}"
Style="{DynamicResource AbstractUICollectionSubtitleStyle}" />
<TextBox Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
@@ -65,14 +65,13 @@
</controls:AbstractUIGroupItemTemplateSelector>
<DataTemplate x:Key="DefaultAbstractUICollectionTemplate" DataType="abstractUIVm:AbstractUICollectionViewModel">
<StackPanel Margin="10,20">
<StackPanel>
<TextBlock Text="{Binding Title, Mode=OneWay}" Style="{DynamicResource AbstractUICollectionTitleStyle}"
ToolTipService.ToolTip="{Binding TooltipText, Mode=OneWay}"
Visibility="{Binding Path=Title, Converter={StaticResource NotNullOrEmptyToVisibilityConverter}, Mode=OneWay}"/>
Visibility="{Binding Title, Converter={StaticResource NotNullToVis}}"/>
<TextBlock Text="{Binding Subtitle, Mode=OneWay}" Style="{DynamicResource AbstractUICollectionSubtitleStyle}"
Visibility="{Binding Path=Subtitle, TargetNullValue=Collapsed, Mode=OneWay}"/>
Visibility="{Binding Subtitle, Converter={StaticResource NotNullToVis}}"/>
<ItemsControl ItemsSource="{Binding Items, Mode=OneWay}"
ItemTemplateSelector="{StaticResource GroupTemplateSelector}" />
@@ -1,6 +1,7 @@
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ocWCBV="clr-namespace:OwlCore.Wpf.Converters.Bools.Visible">
<Style x:Key="AbstractUICollectionTitleStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="24"/>
@@ -12,4 +13,6 @@
<Setter Property="Opacity" Value="0.5"/>
</Style>
<ocWCBV:NotNullToVisibilityConverter x:Key="NotNullToVis" />
</ResourceDictionary>