Browse Source

Minor fluent theme fixes

pull/8625/head
Max Katz 4 years ago
parent
commit
b5e4a94c4f
  1. 4
      src/Avalonia.Themes.Fluent/Controls/ContextMenu.xaml
  2. 84
      src/Avalonia.Themes.Fluent/Controls/DataValidationErrors.xaml
  3. 1
      src/Avalonia.Themes.Fluent/Controls/FluentControls.xaml
  4. 6
      src/Avalonia.Themes.Fluent/Controls/Menu.xaml
  5. 1
      src/Avalonia.Themes.Fluent/Controls/MenuFlyoutPresenter.xaml

4
src/Avalonia.Themes.Fluent/Controls/ContextMenu.xaml

@ -29,7 +29,7 @@
</Border>
</Design.PreviewWith>
<!-- Added missing resource -->
<!-- Added missing resource -->
<Thickness x:Key="MenuFlyoutScrollerMargin">0,4,0,4</Thickness>
<ControlTheme x:Key="{x:Type ContextMenu}" TargetType="ContextMenu">
@ -54,7 +54,7 @@
MinHeight="{TemplateBinding MinHeight}"
HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
CornerRadius="{TemplateBinding CornerRadius}">
<ScrollViewer Classes="menuscroller">
<ScrollViewer Theme="{StaticResource FluentMenuScrollViewer}">
<ItemsPresenter Name="PART_ItemsPresenter"
Items="{TemplateBinding Items}"
ItemsPanel="{TemplateBinding ItemsPanel}"

84
src/Avalonia.Themes.Fluent/Controls/DataValidationErrors.xaml

@ -14,8 +14,7 @@
<TextBox Text="Sample">
<TextBox.Styles>
<Style Selector="DataValidationErrors">
<Setter Property="Template" Value="{DynamicResource TooltipDataValidationContentTemplate}" />
<Setter Property="ErrorTemplate" Value="{DynamicResource TooltipDataValidationErrorTemplate}" />
<Setter Property="Theme" Value="{DynamicResource TooltipDataValidationErrors}" />
</Style>
</TextBox.Styles>
<DataValidationErrors.Error>
@ -26,10 +25,33 @@
</Border>
</Design.PreviewWith>
<ControlTheme x:Key="{x:Type DataValidationErrors}" TargetType="DataValidationErrors">
<ControlTheme.Resources>
<DataTemplate x:Key="InlineDataValidationErrorTemplate">
<ItemsControl Items="{Binding}" x:DataType="DataValidationErrors" Foreground="{DynamicResource SystemControlErrorTextForegroundBrush}">
<ControlTheme x:Key="{x:Type DataValidationErrors}"
TargetType="DataValidationErrors">
<Setter Property="Template">
<ControlTemplate TargetType="DataValidationErrors">
<DockPanel LastChildFill="True">
<ContentControl x:Name="InlineDataValidationContentControl"
Margin="0,4,0,0"
Content="{Binding (DataValidationErrors.Errors)}"
ContentTemplate="{TemplateBinding ErrorTemplate}"
DataContext="{TemplateBinding Owner}"
DockPanel.Dock="Bottom"
IsVisible="{Binding (DataValidationErrors.HasErrors)}" />
<ContentPresenter Name="PART_ContentPresenter"
Padding="{TemplateBinding Padding}"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
CornerRadius="{TemplateBinding CornerRadius}" />
</DockPanel>
</ControlTemplate>
</Setter>
<Setter Property="ErrorTemplate">
<DataTemplate>
<ItemsControl x:DataType="DataValidationErrors"
Foreground="{DynamicResource SystemControlErrorTextForegroundBrush}"
Items="{Binding}">
<ItemsControl.Styles>
<Style Selector="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
@ -37,27 +59,34 @@
</ItemsControl.Styles>
</ItemsControl>
</DataTemplate>
<ControlTemplate x:Key="InlineDataValidationContentTemplate" TargetType="DataValidationErrors">
</Setter>
</ControlTheme>
<ControlTheme x:Key="TooltipDataValidationErrors"
TargetType="DataValidationErrors">
<Setter Property="Template">
<ControlTemplate TargetType="DataValidationErrors">
<DockPanel LastChildFill="True">
<ContentControl x:Name="InlineDataValidationContentControl"
Margin="0,4,0,0"
Content="{Binding (DataValidationErrors.Errors)}"
<ContentControl Content="{Binding (DataValidationErrors.Errors)}"
ContentTemplate="{TemplateBinding ErrorTemplate}"
DataContext="{TemplateBinding Owner}"
DockPanel.Dock="Bottom"
DockPanel.Dock="Right"
IsVisible="{Binding (DataValidationErrors.HasErrors)}" />
<ContentPresenter Name="PART_ContentPresenter"
Padding="{TemplateBinding Padding}"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
ContentTemplate="{TemplateBinding ContentTemplate}"
CornerRadius="{TemplateBinding CornerRadius}" />
</DockPanel>
</ControlTemplate>
<DataTemplate x:DataType="DataValidationErrors" x:Key="TooltipDataValidationErrorTemplate">
<Panel Name="PART_InlineErrorTemplatePanel" Background="Transparent">
</Setter>
<Setter Property="ErrorTemplate">
<DataTemplate>
<Panel Name="PART_InlineErrorTemplatePanel"
Background="Transparent">
<Panel.Styles>
<Style Selector="Panel#PART_InlineErrorTemplatePanel">
<Setter Property="Margin" Value="8,0" />
@ -70,7 +99,7 @@
</Style>
</Panel.Styles>
<ToolTip.Tip>
<ItemsControl Items="{Binding}" />
<ItemsControl Items="{ReflectionBinding}" />
</ToolTip.Tip>
<Path Width="14"
Height="14"
@ -79,25 +108,6 @@
StrokeThickness="2" />
</Panel>
</DataTemplate>
<ControlTemplate x:Key="TooltipDataValidationContentTemplate" TargetType="DataValidationErrors">
<DockPanel LastChildFill="True">
<ContentControl Content="{Binding (DataValidationErrors.Errors)}"
ContentTemplate="{TemplateBinding ErrorTemplate}"
DataContext="{TemplateBinding Owner}"
DockPanel.Dock="Right"
IsVisible="{Binding (DataValidationErrors.HasErrors)}" />
<ContentPresenter Name="PART_ContentPresenter"
Padding="{TemplateBinding Padding}"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
</DockPanel>
</ControlTemplate>
</ControlTheme.Resources>
<Setter Property="Template" Value="{StaticResource InlineDataValidationContentTemplate}" />
<Setter Property="ErrorTemplate" Value="{StaticResource InlineDataValidationErrorTemplate}" />
</Setter>
</ControlTheme>
</ResourceDictionary>

1
src/Avalonia.Themes.Fluent/Controls/FluentControls.xaml

@ -75,5 +75,4 @@
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/FocusAdorner.xaml" />
<StyleInclude Source="avares://Avalonia.Themes.Fluent/Controls/UserControl.xaml" />
<Styles.Resources />
</Styles>

6
src/Avalonia.Themes.Fluent/Controls/Menu.xaml

@ -5,7 +5,7 @@
<Menu>
<MenuItem Header="_Standard" />
<MenuItem Header="Selected" IsSelected="True" />
<MenuItem Header="Disabled" IsEnabled="False"/>
<MenuItem Header="Disabled" IsEnabled="False" />
</Menu>
</Border>
</Design.PreviewWith>
@ -46,7 +46,7 @@
MinHeight="{DynamicResource MenuFlyoutThemeMinHeight}"
HorizontalAlignment="Stretch"
CornerRadius="{DynamicResource OverlayCornerRadius}">
<ScrollViewer Classes="menuscroller">
<ScrollViewer Theme="{StaticResource FluentMenuScrollViewer}">
<ItemsPresenter Name="PART_ItemsPresenter"
Items="{TemplateBinding Items}"
ItemsPanel="{TemplateBinding ItemsPanel}"
@ -91,7 +91,7 @@
<ControlTheme x:Key="{x:Type Menu}" TargetType="Menu">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Height" Value="{DynamicResource MenuBarHeight}" />
<Setter Property="ItemContainerTheme" Value="{StaticResource FluentTopLevelMenuItem}"/>
<Setter Property="ItemContainerTheme" Value="{StaticResource FluentTopLevelMenuItem}" />
<Setter Property="Template">
<ControlTemplate>
<Border Background="{TemplateBinding Background}"

1
src/Avalonia.Themes.Fluent/Controls/MenuFlyoutPresenter.xaml

@ -19,6 +19,7 @@
Padding="{DynamicResource FlyoutBorderThemePadding}"
CornerRadius="{TemplateBinding CornerRadius}">
<ScrollViewer HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
Theme="{StaticResource FluentMenuScrollViewer}"
VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}">
<ItemsPresenter Name="PART_ItemsPresenter"
Items="{TemplateBinding Items}"

Loading…
Cancel
Save