Skip to content

Commit 5434628

Browse files
committed
Adding missing FrameCP Template to Frame
1 parent 8efaa5d commit 5434628

File tree

1 file changed

+144
-0
lines changed
  • src/Microsoft.DotNet.Wpf/src/Themes/PresentationFramework.Fluent/Styles

1 file changed

+144
-0
lines changed

src/Microsoft.DotNet.Wpf/src/Themes/PresentationFramework.Fluent/Styles/Frame.xaml

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,157 @@
77

88
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
99

10+
<ControlTemplate x:Key="FrameNavChromeTemplateKey"
11+
TargetType="{x:Type Frame}">
12+
<Border Background="{TemplateBinding Background}"
13+
BorderBrush="{TemplateBinding BorderBrush}"
14+
BorderThickness="{TemplateBinding BorderThickness}"
15+
Padding="{TemplateBinding Padding}">
16+
<DockPanel>
17+
<Grid Background="{StaticResource NavigationWindowNavigationChromeBackground}"
18+
DockPanel.Dock="Top"
19+
Height="22">
20+
<Grid.ColumnDefinitions>
21+
<ColumnDefinition Width="Auto"/>
22+
<ColumnDefinition Width="Auto"/>
23+
<ColumnDefinition Width="16"/>
24+
<ColumnDefinition Width="*"/>
25+
</Grid.ColumnDefinitions>
26+
27+
<!-- Menu -->
28+
<Menu Name="NavMenu"
29+
Grid.ColumnSpan="3"
30+
Height="16"
31+
Margin="1,0,0,0"
32+
VerticalAlignment="Center"
33+
Style="{StaticResource NavigationWindowMenu}">
34+
35+
<MenuItem Padding="0,2,4,0"
36+
Style="{StaticResource NavigationWindowMenuItem}"
37+
ItemContainerStyle="{StaticResource NavigationWindowNavigationButtonJournalEntryStyle}"
38+
IsSubmenuOpen="{Binding Path=(MenuItem.IsSubmenuOpen),Mode=TwoWay,RelativeSource={RelativeSource TemplatedParent}}">
39+
<MenuItem.ItemsSource>
40+
<MultiBinding Converter="{StaticResource JournalEntryUnifiedViewConverter}">
41+
<MultiBinding.Bindings>
42+
<Binding RelativeSource="{RelativeSource TemplatedParent}"
43+
Path="BackStack" />
44+
<Binding RelativeSource="{RelativeSource TemplatedParent}"
45+
Path="ForwardStack" />
46+
</MultiBinding.Bindings>
47+
</MultiBinding>
48+
</MenuItem.ItemsSource>
49+
</MenuItem>
50+
</Menu>
51+
52+
<Path Grid.Column="0"
53+
SnapsToDevicePixels="false"
54+
IsHitTestVisible="false"
55+
Margin="2,0,0,0"
56+
Grid.ColumnSpan="3"
57+
StrokeThickness="1"
58+
HorizontalAlignment="Left"
59+
VerticalAlignment="Center"
60+
Data="M22.5767,21.035 Q27,19.37 31.424,21.035 A12.5,12.5,0,0,0,53.5,13 A12.5,12.5,0,0,0,37.765,0.926 Q27,4.93 16.235,0.926 A12.5,12.5,0,0,0,0.5,13 A12.5,12.5,0,0,0,22.5767,21.035 z">
61+
<Path.Fill>
62+
<LinearGradientBrush StartPoint="0,0"
63+
EndPoint="0,1">
64+
<LinearGradientBrush.GradientStops>
65+
<GradientStopCollection>
66+
<GradientStop Color="#A0C2CCE7" Offset="0"/>
67+
<GradientStop Color="#60FFFFFF" Offset="1"/>
68+
</GradientStopCollection>
69+
</LinearGradientBrush.GradientStops>
70+
</LinearGradientBrush>
71+
</Path.Fill>
72+
73+
<Path.Stroke>
74+
<LinearGradientBrush StartPoint="0,0"
75+
EndPoint="0,1">
76+
<LinearGradientBrush.GradientStops>
77+
<GradientStopCollection>
78+
<GradientStop Color="#FFB7C2E3" Offset="0.2"/>
79+
<GradientStop Color="#A0FFFFFF" Offset="0.9"/>
80+
</GradientStopCollection>
81+
</LinearGradientBrush.GradientStops>
82+
</LinearGradientBrush>
83+
</Path.Stroke>
84+
<Path.LayoutTransform>
85+
<ScaleTransform ScaleX="0.667" ScaleY="0.667"/>
86+
</Path.LayoutTransform>
87+
</Path>
88+
89+
<Button Style="{StaticResource NavigationWindowBackButtonStyle}"
90+
Margin="3,0,1,0"
91+
Grid.Column="0">
92+
<Button.LayoutTransform>
93+
<ScaleTransform ScaleX="0.667" ScaleY="0.667"/>
94+
</Button.LayoutTransform>
95+
</Button>
96+
97+
98+
<Button Style="{StaticResource NavigationWindowForwardButtonStyle}"
99+
Margin="1,0,0,0"
100+
Grid.Column="1">
101+
<Button.LayoutTransform>
102+
<ScaleTransform ScaleX="0.667" ScaleY="0.667"/>
103+
</Button.LayoutTransform>
104+
</Button>
105+
</Grid>
106+
<ContentPresenter x:Name="PART_FrameCP"/>
107+
</DockPanel>
108+
</Border>
109+
<ControlTemplate.Triggers>
110+
<MultiTrigger>
111+
<MultiTrigger.Conditions>
112+
<Condition Property="CanGoForward"
113+
Value="false"/>
114+
<Condition Property="CanGoBack"
115+
Value="false"/>
116+
</MultiTrigger.Conditions>
117+
<Setter TargetName="NavMenu"
118+
Property="IsEnabled"
119+
Value="false"/>
120+
</MultiTrigger>
121+
</ControlTemplate.Triggers>
122+
</ControlTemplate>
123+
10124
<Style TargetType="{x:Type Frame}">
11125
<Setter Property="Background" Value="Transparent" />
12126
<Setter Property="NavigationUIVisibility" Value="Hidden" />
13127
<Setter Property="Padding" Value="0" />
14128
<Setter Property="Margin" Value="0" />
15129
<Setter Property="Focusable" Value="False" />
16130
<Setter Property="SnapsToDevicePixels" Value="True" />
131+
<Setter Property="OverridesDefaultStyle" Value="True" />
132+
<Setter Property="Template">
133+
<Setter.Value>
134+
<ControlTemplate TargetType="{x:Type Frame}">
135+
<Border Background="{TemplateBinding Background}"
136+
BorderBrush="{TemplateBinding BorderBrush}"
137+
BorderThickness="{TemplateBinding BorderThickness}"
138+
Padding="{TemplateBinding Padding}">
139+
<ContentPresenter x:Name="PART_FrameCP"/>
140+
</Border>
141+
</ControlTemplate>
142+
</Setter.Value>
143+
</Setter>
144+
<Style.Triggers>
145+
<Trigger Property="NavigationUIVisibility"
146+
Value="Visible">
147+
<Setter Property="Template"
148+
Value="{StaticResource FrameNavChromeTemplateKey}"/>
149+
</Trigger>
150+
<MultiTrigger>
151+
<MultiTrigger.Conditions>
152+
<Condition Property="JournalOwnership"
153+
Value="OwnsJournal"/>
154+
<Condition Property="NavigationUIVisibility"
155+
Value="Automatic"/>
156+
</MultiTrigger.Conditions>
157+
<Setter Property="Template"
158+
Value="{StaticResource FrameNavChromeTemplateKey}"/>
159+
</MultiTrigger>
160+
</Style.Triggers>
17161
</Style>
18162

19163
</ResourceDictionary>

0 commit comments

Comments
 (0)