Skip to content

Commit

Permalink
Check if AlternateContent is set before setting visibility
Browse files Browse the repository at this point in the history
  • Loading branch information
lesterbotello committed Aug 8, 2023
1 parent 4402407 commit fa56788
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/library/Uno.Material/Styles/Controls/v2/ToggleButton.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -503,11 +503,13 @@
<Setter Target="RootGrid.BorderBrush" Value="{ThemeResource IconToggleButtonBorderBrushDisabled}" />
</VisualState.Setters>
</VisualState>
<!-- For the checked states, we need to also validate if AlternateContent is set first before changing visibility -->
<!-- https://github.com/unoplatform/Uno.Themes/issues/1132 -->
<VisualState x:Name="Checked">
<VisualState.Setters>
<Setter Target="ContentPresenter.Visibility" Value="Collapsed" />
<Setter Target="ContentPresenter.Foreground" Value="{ThemeResource IconToggleButtonForegroundChecked}" />
<Setter Target="AlternateContentPresenter.Visibility" Value="Visible" />
<Setter Target="AlternateContentPresenter.Visibility" Value="{Binding Path=(um:ControlExtensions.AlternateContent), RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource MaterialNullToCollapsedConverter}, FallbackValue=Visible, TargetNullValue=Visible}" />
<Setter Target="AlternateContentPresenter.Foreground" Value="{ThemeResource IconToggleButtonForegroundChecked}" />
<Setter Target="RootGrid.Background" Value="{ThemeResource IconToggleButtonBackgroundChecked}" />
<Setter Target="RootGrid.BorderBrush" Value="{ThemeResource IconToggleButtonBorderBrushChecked}" />
Expand All @@ -517,7 +519,7 @@
<VisualState.Setters>
<Setter Target="ContentPresenter.Visibility" Value="Collapsed" />
<Setter Target="ContentPresenter.Foreground" Value="{ThemeResource IconToggleButtonForegroundCheckedPointerOver}" />
<Setter Target="AlternateContentPresenter.Visibility" Value="Visible" />
<Setter Target="AlternateContentPresenter.Visibility" Value="{Binding Path=(um:ControlExtensions.AlternateContent), RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource MaterialNullToCollapsedConverter}, FallbackValue=Visible, TargetNullValue=Visible}" />
<Setter Target="AlternateContentPresenter.Foreground" Value="{ThemeResource IconToggleButtonForegroundCheckedPointerOver}" />
<Setter Target="HoverOverlay.Opacity" Value="1" />
<Setter Target="RootGrid.Background" Value="{ThemeResource IconToggleButtonBackgroundCheckedPointerOver}" />
Expand All @@ -528,7 +530,7 @@
<VisualState.Setters>
<Setter Target="ContentPresenter.Visibility" Value="Collapsed" />
<Setter Target="ContentPresenter.Foreground" Value="{ThemeResource IconToggleButtonForegroundCheckedPressed}" />
<Setter Target="AlternateContentPresenter.Visibility" Value="Visible" />
<Setter Target="AlternateContentPresenter.Visibility" Value="{Binding Path=(um:ControlExtensions.AlternateContent), RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource MaterialNullToCollapsedConverter}, FallbackValue=Visible, TargetNullValue=Visible}" />
<Setter Target="AlternateContentPresenter.Foreground" Value="{ThemeResource IconToggleButtonForegroundCheckedPressed}" />
<Setter Target="PressedOverlay.Opacity" Value="1" />
<Setter Target="RootGrid.Background" Value="{ThemeResource IconToggleButtonBackgroundCheckedPressed}" />
Expand All @@ -539,7 +541,7 @@
<VisualState.Setters>
<Setter Target="ContentPresenter.Visibility" Value="Collapsed" />
<Setter Target="ContentPresenter.Foreground" Value="{ThemeResource IconToggleButtonForegroundCheckedDisabled}" />
<Setter Target="AlternateContentPresenter.Visibility" Value="Visible" />
<Setter Target="AlternateContentPresenter.Visibility" Value="{Binding Path=(um:ControlExtensions.AlternateContent), RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource MaterialNullToCollapsedConverter}, FallbackValue=Visible, TargetNullValue=Visible}" />
<Setter Target="AlternateContentPresenter.Foreground" Value="{ThemeResource IconToggleButtonForegroundCheckedDisabled}" />
<Setter Target="RootGrid.Background" Value="{ThemeResource IconToggleButtonBackgroundCheckedDisabled}" />
<Setter Target="RootGrid.BorderBrush" Value="{ThemeResource IconToggleButtonBorderBrushCheckedDisabled}" />
Expand Down Expand Up @@ -605,7 +607,7 @@
<!-- Alternate Content -->
<ContentPresenter x:Name="AlternateContentPresenter"
AutomationProperties.AccessibilityView="Raw"
Content="{Binding Path=(um:ControlExtensions.AlternateContent), RelativeSource={RelativeSource TemplatedParent}, FallbackValue=' ', TargetNullValue=' '}"
Content="{Binding Path=(um:ControlExtensions.AlternateContent), RelativeSource={RelativeSource TemplatedParent}}"
Foreground="{TemplateBinding Foreground}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
Expand Down

0 comments on commit fa56788

Please sign in to comment.