Skip to content

Commit

Permalink
Port microsoft/microsoft-ui-xaml#3887: Merge feature/token-experiment…
Browse files Browse the repository at this point in the history
… to master and make default style to use 2.5 (#472)
  • Loading branch information
Kinnara committed Jul 9, 2022
1 parent d6fe01e commit 65b4390
Show file tree
Hide file tree
Showing 23 changed files with 2,405 additions and 1,491 deletions.
67 changes: 32 additions & 35 deletions ModernWpf.Controls/DropDownButton/DropDownButton.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,62 +26,59 @@
<Setter.Value>
<ControlTemplate TargetType="local:DropDownButton">
<ControlTemplate.Resources>
<StreamGeometry x:Key="ChevronDown">M 18.935547 4.560547 L 19.814453 5.439453 L 10 15.253906 L 0.185547 5.439453 L 1.064453 4.560547 L 10 13.496094 Z</StreamGeometry>
<StreamGeometry x:Key="ChevronDownSmall">F1 M 17.568359 3.408203 L 19.931641 5.761719 L 10 15.693359 L 0.068359 5.761719 L 2.431641 3.408203 L 10 10.976562 L 17.568359 3.408203 Z</StreamGeometry>
</ControlTemplate.Resources>
<Border
x:Name="RootBorder"
<Border x:Name="RootBorder"
Padding="{TemplateBinding Padding}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
CornerRadius="{TemplateBinding CornerRadius}"
SnapsToDevicePixels="True">

<Border
x:Name="InnerBorder"
Padding="{TemplateBinding Padding}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}">
<Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>

<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ContentPresenter
x:Name="ContentPresenter"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Focusable="False"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />

<ContentPresenter
x:Name="ContentPresenter"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Focusable="False"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />

<ui:FontIconFallback
x:Name="ChevronTextBlock"
Grid.Column="1"
FontFamily="{DynamicResource SymbolThemeFontFamily}"
FontSize="12"
Data="{StaticResource ChevronDown}"
VerticalAlignment="Center"
Margin="6,0,0,0" />
</Grid>
</Border>
<ui:FontIconFallback
x:Name="ChevronTextBlock"
Grid.Column="1"
FontFamily="{DynamicResource SymbolThemeFontFamily}"
FontSize="8"
Foreground="{DynamicResource ButtonForegroundPressed}"
Data="{StaticResource ChevronDownSmall}"
VerticalAlignment="Center"
Padding="2,4,2,0"
Margin="8,0,0,0" />
</Grid>

</Border>

<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="RootBorder" Property="Background" Value="{DynamicResource ButtonBackgroundPointerOver}" />
<Setter TargetName="InnerBorder" Property="BorderBrush" Value="{DynamicResource ButtonBorderBrushPointerOver}" />
<Setter TargetName="RootBorder" Property="BorderBrush" Value="{DynamicResource ButtonBorderBrushPointerOver}" />
<Setter TargetName="ContentPresenter" Property="TextElement.Foreground" Value="{DynamicResource ButtonForegroundPointerOver}" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="RootBorder" Property="Background" Value="{DynamicResource ButtonBackgroundPressed}" />
<Setter TargetName="InnerBorder" Property="BorderBrush" Value="{DynamicResource ButtonBorderBrushPressed}" />
<Setter TargetName="RootBorder" Property="BorderBrush" Value="{DynamicResource ButtonBorderBrushPressed}" />
<Setter TargetName="ContentPresenter" Property="TextElement.Foreground" Value="{DynamicResource ButtonForegroundPressed}" />
<Setter TargetName="ChevronTextBlock" Property="Foreground" Value="{DynamicResource DropDownButtonForegroundSecondaryPressed}" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="RootBorder" Property="Background" Value="{DynamicResource ButtonBackgroundDisabled}" />
<Setter TargetName="InnerBorder" Property="BorderBrush" Value="{DynamicResource ButtonBorderBrushDisabled}" />
<Setter TargetName="RootBorder" Property="BorderBrush" Value="{DynamicResource ButtonBorderBrushDisabled}" />
<Setter TargetName="ContentPresenter" Property="TextElement.Foreground" Value="{DynamicResource ButtonForegroundDisabled}" />
<Setter TargetName="ChevronTextBlock" Property="Foreground" Value="{DynamicResource ButtonForegroundDisabled}" />
</Trigger>
Expand Down
9 changes: 9 additions & 0 deletions ModernWpf.Controls/HyperlinkButton/HyperlinkButton.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,15 @@ public Thickness FocusVisualMargin
set => SetValue(FocusVisualMarginProperty, value);
}

public static readonly DependencyProperty CornerRadiusProperty =
ControlHelper.CornerRadiusProperty.AddOwner(typeof(HyperlinkButton));

public CornerRadius CornerRadius
{
get => (CornerRadius)GetValue(CornerRadiusProperty);
set => SetValue(CornerRadiusProperty, value);
}

protected override AutomationPeer OnCreateAutomationPeer()
{
return new HyperlinkButtonAutomationPeer(this);
Expand Down
64 changes: 32 additions & 32 deletions ModernWpf.Controls/HyperlinkButton/HyperlinkButton.xaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ui="http://schemas.modernwpf.com/2019"
xmlns:local="clr-namespace:ModernWpf.Controls">

<Thickness x:Key="HyperlinkButtonPadding">0,6,0,7</Thickness>
Expand All @@ -18,48 +19,47 @@
<Setter Property="UseSystemFocusVisuals" Value="{DynamicResource UseSystemFocusVisuals}" />
<Setter Property="FocusVisualMargin" Value="-3" />
<Setter Property="FocusVisualStyle" Value="{DynamicResource {x:Static SystemParameters.FocusVisualStyleKey}}" />
<Setter Property="CornerRadius" Value="{DynamicResource ControlCornerRadius}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:HyperlinkButton">
<Border
x:Name="Background"
<ui:ContentControlEx
x:Name="ContentPresenter"
Background="{TemplateBinding Background}"
SnapsToDevicePixels="True">
<Border
x:Name="Border"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}">
<ContentPresenter
x:Name="ContentPresenter"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Focusable="False"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
<ContentPresenter.Resources>
<Style TargetType="TextBlock">
<Setter Property="TextDecorations" Value="Underline" />
</Style>
</ContentPresenter.Resources>
</ContentPresenter>
</Border>
</Border>
Foreground="{TemplateBinding Foreground}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
Padding="{TemplateBinding Padding}"
CornerRadius="{TemplateBinding ui:ControlHelper.CornerRadius}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
<!-- TODO
<contract7Present:ContentPresenter.BackgroundTransition>
<contract7Present:BrushTransition Duration="0:0:0.083" />
</contract7Present:ContentPresenter.BackgroundTransition>
-->
</ui:ContentControlEx>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="ContentPresenter" Property="TextElement.Foreground" Value="{DynamicResource HyperlinkButtonForegroundPointerOver}" />
<Setter TargetName="Background" Property="Background" Value="{DynamicResource HyperlinkButtonBackgroundPointerOver}" />
<Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource HyperlinkButtonBorderBrushPointerOver}" />
<Setter TargetName="ContentPresenter" Property="Foreground" Value="{DynamicResource HyperlinkButtonForegroundPointerOver}" />
<Setter TargetName="ContentPresenter" Property="Background" Value="{DynamicResource HyperlinkButtonBackgroundPointerOver}" />
<Setter TargetName="ContentPresenter" Property="BorderBrush" Value="{DynamicResource HyperlinkButtonBorderBrushPointerOver}" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="ContentPresenter" Property="TextElement.Foreground" Value="{DynamicResource HyperlinkButtonForegroundPressed}" />
<Setter TargetName="Background" Property="Background" Value="{DynamicResource HyperlinkButtonBackgroundPressed}" />
<Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource HyperlinkButtonBorderBrushPressed}" />
<Setter TargetName="ContentPresenter" Property="Foreground" Value="{DynamicResource HyperlinkButtonForegroundPressed}" />
<Setter TargetName="ContentPresenter" Property="Background" Value="{DynamicResource HyperlinkButtonBackgroundPressed}" />
<Setter TargetName="ContentPresenter" Property="BorderBrush" Value="{DynamicResource HyperlinkButtonBorderBrushPressed}" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="ContentPresenter" Property="TextElement.Foreground" Value="{DynamicResource HyperlinkButtonForegroundDisabled}" />
<Setter TargetName="Background" Property="Background" Value="{DynamicResource HyperlinkButtonBackgroundDisabled}" />
<Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource HyperlinkButtonBorderBrushDisabled}" />
<Setter TargetName="ContentPresenter" Property="Foreground" Value="{DynamicResource HyperlinkButtonForegroundDisabled}" />
<Setter TargetName="ContentPresenter" Property="Background" Value="{DynamicResource HyperlinkButtonBackgroundDisabled}" />
<Setter TargetName="ContentPresenter" Property="BorderBrush" Value="{DynamicResource HyperlinkButtonBorderBrushDisabled}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
Expand Down
4 changes: 2 additions & 2 deletions ModernWpf.Controls/ListView/ListView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@
<Rectangle
x:Name="BorderBackground"
IsHitTestVisible="False"
Fill="{DynamicResource SystemControlHighlightListAccentLowBrush}"
Fill="{DynamicResource ListViewItemBorderBackground}"
Opacity="0" />
<Grid
x:Name="ContentPresenterGrid"
Expand Down Expand Up @@ -189,7 +189,7 @@
FontFamily="{DynamicResource SymbolThemeFontFamily}"
Data="{StaticResource CheckMark}"
FontSize="16"
Foreground="{DynamicResource SystemControlForegroundBaseMediumHighBrush}"
Foreground="{DynamicResource ListViewItemCheckBrush}"
Visibility="Collapsed"
Opacity="0" />
</Border>
Expand Down
Loading

0 comments on commit 65b4390

Please sign in to comment.