Skip to content

Commit 096d142

Browse files
committed
- Add expander style to resource dictionary
- Adjust Plugin page
1 parent 71c7ad5 commit 096d142

File tree

2 files changed

+248
-28
lines changed

2 files changed

+248
-28
lines changed

Flow.Launcher/App.xaml

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,227 @@
66
Startup="OnStartupAsync">
77
<Application.Resources>
88
<ResourceDictionary>
9+
<!--#region Expander for Setting Window-->
10+
<Style x:Key="ExpanderRightHeaderStyle" TargetType="{x:Type ToggleButton}">
11+
<Setter Property="Template">
12+
<Setter.Value>
13+
<ControlTemplate TargetType="{x:Type ToggleButton}">
14+
<Border Padding="{TemplateBinding Padding}">
15+
<Grid Background="Transparent" SnapsToDevicePixels="False">
16+
<Grid.RowDefinitions>
17+
<RowDefinition Height="19"/>
18+
<RowDefinition Height="*"/>
19+
</Grid.RowDefinitions>
20+
<Grid>
21+
<Grid.LayoutTransform>
22+
<TransformGroup>
23+
<TransformGroup.Children>
24+
<TransformCollection>
25+
<RotateTransform Angle="-90"/>
26+
</TransformCollection>
27+
</TransformGroup.Children>
28+
</TransformGroup>
29+
</Grid.LayoutTransform>
30+
<Ellipse x:Name="circle" HorizontalAlignment="Center" Height="19" Stroke="DarkGray" VerticalAlignment="Center" Width="19"/>
31+
<Path x:Name="arrow" Data="M 1,1.5 L 4.5,5 L 8,1.5" HorizontalAlignment="Center" SnapsToDevicePixels="false" Stroke="#666" StrokeThickness="2" VerticalAlignment="Center"/>
32+
</Grid>
33+
<ContentPresenter HorizontalAlignment="Center" Margin="0,4,0,0" Grid.Row="1" RecognizesAccessKey="True" SnapsToDevicePixels="True" VerticalAlignment="Top"/>
34+
</Grid>
35+
</Border>
36+
<ControlTemplate.Triggers>
37+
<Trigger Property="IsChecked" Value="true">
38+
<Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
39+
</Trigger>
40+
<Trigger Property="IsMouseOver" Value="true">
41+
<Setter Property="Stroke" TargetName="circle" Value="#FF3C7FB1"/>
42+
<Setter Property="Stroke" TargetName="arrow" Value="#222"/>
43+
</Trigger>
44+
<Trigger Property="IsPressed" Value="true">
45+
<Setter Property="Stroke" TargetName="circle" Value="#FF526C7B"/>
46+
<Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
47+
<Setter Property="Stroke" TargetName="arrow" Value="#FF003366"/>
48+
</Trigger>
49+
</ControlTemplate.Triggers>
50+
</ControlTemplate>
51+
</Setter.Value>
52+
</Setter>
53+
</Style>
54+
<Style x:Key="ExpanderUpHeaderStyle" TargetType="{x:Type ToggleButton}">
55+
<Setter Property="Template">
56+
<Setter.Value>
57+
<ControlTemplate TargetType="{x:Type ToggleButton}">
58+
<Border Padding="{TemplateBinding Padding}">
59+
<Grid Background="Transparent" SnapsToDevicePixels="False">
60+
<Grid.ColumnDefinitions>
61+
<ColumnDefinition Width="19"/>
62+
<ColumnDefinition Width="*"/>
63+
</Grid.ColumnDefinitions>
64+
<Grid>
65+
<Grid.LayoutTransform>
66+
<TransformGroup>
67+
<TransformGroup.Children>
68+
<TransformCollection>
69+
<RotateTransform Angle="180"/>
70+
</TransformCollection>
71+
</TransformGroup.Children>
72+
</TransformGroup>
73+
</Grid.LayoutTransform>
74+
<Ellipse x:Name="circle" HorizontalAlignment="Center" Height="19" Stroke="DarkGray" VerticalAlignment="Center" Width="19"/>
75+
<Path x:Name="arrow" Data="M 1,1.5 L 4.5,5 L 8,1.5" HorizontalAlignment="Center" SnapsToDevicePixels="false" Stroke="#666" StrokeThickness="2" VerticalAlignment="Center"/>
76+
</Grid>
77+
<ContentPresenter Grid.Column="1" HorizontalAlignment="Left" Margin="4,0,0,0" RecognizesAccessKey="True" SnapsToDevicePixels="True" VerticalAlignment="Center"/>
78+
</Grid>
79+
</Border>
80+
<ControlTemplate.Triggers>
81+
<Trigger Property="IsChecked" Value="true">
82+
<Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
83+
</Trigger>
84+
<Trigger Property="IsMouseOver" Value="true">
85+
<Setter Property="Stroke" TargetName="circle" Value="#FF3C7FB1"/>
86+
<Setter Property="Stroke" TargetName="arrow" Value="#222"/>
87+
</Trigger>
88+
<Trigger Property="IsPressed" Value="true">
89+
<Setter Property="Stroke" TargetName="circle" Value="#FF526C7B"/>
90+
<Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
91+
<Setter Property="Stroke" TargetName="arrow" Value="#FF003366"/>
92+
</Trigger>
93+
</ControlTemplate.Triggers>
94+
</ControlTemplate>
95+
</Setter.Value>
96+
</Setter>
97+
</Style>
98+
<Style x:Key="ExpanderLeftHeaderStyle" TargetType="{x:Type ToggleButton}">
99+
<Setter Property="Template">
100+
<Setter.Value>
101+
<ControlTemplate TargetType="{x:Type ToggleButton}">
102+
<Border Padding="{TemplateBinding Padding}">
103+
<Grid Background="Transparent" SnapsToDevicePixels="False">
104+
<Grid.RowDefinitions>
105+
<RowDefinition Height="19"/>
106+
<RowDefinition Height="*"/>
107+
</Grid.RowDefinitions>
108+
<Grid>
109+
<Grid.LayoutTransform>
110+
<TransformGroup>
111+
<TransformGroup.Children>
112+
<TransformCollection>
113+
<RotateTransform Angle="90"/>
114+
</TransformCollection>
115+
</TransformGroup.Children>
116+
</TransformGroup>
117+
</Grid.LayoutTransform>
118+
<Ellipse x:Name="circle" HorizontalAlignment="Center" Height="19" Stroke="DarkGray" VerticalAlignment="Center" Width="19"/>
119+
<Path x:Name="arrow" Data="M 1,1.5 L 4.5,5 L 8,1.5" HorizontalAlignment="Center" SnapsToDevicePixels="false" Stroke="#666" StrokeThickness="2" VerticalAlignment="Center"/>
120+
</Grid>
121+
<ContentPresenter HorizontalAlignment="Center" Margin="0,4,0,0" Grid.Row="1" RecognizesAccessKey="True" SnapsToDevicePixels="True" VerticalAlignment="Top"/>
122+
</Grid>
123+
</Border>
124+
<ControlTemplate.Triggers>
125+
<Trigger Property="IsChecked" Value="true">
126+
<Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
127+
</Trigger>
128+
<Trigger Property="IsMouseOver" Value="true">
129+
<Setter Property="Stroke" TargetName="circle" Value="#FF3C7FB1"/>
130+
<Setter Property="Stroke" TargetName="arrow" Value="#222"/>
131+
</Trigger>
132+
<Trigger Property="IsPressed" Value="true">
133+
<Setter Property="Stroke" TargetName="circle" Value="#FF526C7B"/>
134+
<Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
135+
<Setter Property="Stroke" TargetName="arrow" Value="#FF003366"/>
136+
</Trigger>
137+
</ControlTemplate.Triggers>
138+
</ControlTemplate>
139+
</Setter.Value>
140+
</Setter>
141+
</Style>
142+
<Style x:Key="ExpanderHeaderFocusVisual">
143+
<Setter Property="Control.Template">
144+
<Setter.Value>
145+
<ControlTemplate>
146+
<Border>
147+
<Rectangle Margin="0" SnapsToDevicePixels="true" Stroke="Black" StrokeThickness="1" StrokeDashArray="1 2"/>
148+
</Border>
149+
</ControlTemplate>
150+
</Setter.Value>
151+
</Setter>
152+
</Style>
153+
<Style x:Key="ExpanderDownHeaderStyle" TargetType="{x:Type ToggleButton}">
154+
<Setter Property="Template">
155+
<Setter.Value>
156+
<ControlTemplate TargetType="{x:Type ToggleButton}">
157+
<Border Padding="{TemplateBinding Padding}">
158+
<Grid Background="Transparent" SnapsToDevicePixels="False">
159+
<Grid.ColumnDefinitions>
160+
<ColumnDefinition Width="19"/>
161+
<ColumnDefinition Width="*"/>
162+
</Grid.ColumnDefinitions>
163+
<Ellipse x:Name="circle" HorizontalAlignment="Center" Height="19" Stroke="DarkGray" VerticalAlignment="Center" Width="19"/>
164+
<Path x:Name="arrow" Data="M 1,1.5 L 4.5,5 L 8,1.5" HorizontalAlignment="Center" SnapsToDevicePixels="false" Stroke="#666" StrokeThickness="2" VerticalAlignment="Center"/>
165+
<ContentPresenter Grid.Column="1" HorizontalAlignment="Left" Margin="4,0,0,0" RecognizesAccessKey="True" SnapsToDevicePixels="True" VerticalAlignment="Center"/>
166+
</Grid>
167+
</Border>
168+
<ControlTemplate.Triggers>
169+
<Trigger Property="IsChecked" Value="true">
170+
<Setter Property="Data" TargetName="arrow" Value="M 1,4.5 L 4.5,1 L 8,4.5"/>
171+
</Trigger>
172+
<Trigger Property="IsMouseOver" Value="true">
173+
<Setter Property="Stroke" TargetName="circle" Value="#FF3C7FB1"/>
174+
<Setter Property="Stroke" TargetName="arrow" Value="#222"/>
175+
</Trigger>
176+
<Trigger Property="IsPressed" Value="true">
177+
<Setter Property="Stroke" TargetName="circle" Value="#FF526C7B"/>
178+
<Setter Property="StrokeThickness" TargetName="circle" Value="1.5"/>
179+
<Setter Property="Stroke" TargetName="arrow" Value="#FF003366"/>
180+
</Trigger>
181+
</ControlTemplate.Triggers>
182+
</ControlTemplate>
183+
</Setter.Value>
184+
</Setter>
185+
</Style>
186+
<Style x:Key="ExpanderStyle1" TargetType="{x:Type Expander}">
187+
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
188+
<Setter Property="Background" Value="Transparent"/>
189+
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
190+
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
191+
<Setter Property="BorderBrush" Value="Transparent"/>
192+
<Setter Property="BorderThickness" Value="1"/>
193+
<Setter Property="Template">
194+
<Setter.Value>
195+
<ControlTemplate TargetType="{x:Type Expander}">
196+
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="3" SnapsToDevicePixels="true">
197+
<DockPanel>
198+
<ToggleButton x:Name="HeaderSite" ContentTemplate="{TemplateBinding HeaderTemplate}" ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}" Content="{TemplateBinding Header}" DockPanel.Dock="Top" Foreground="{TemplateBinding Foreground}" FontWeight="{TemplateBinding FontWeight}" FocusVisualStyle="{StaticResource ExpanderHeaderFocusVisual}" FontStyle="{TemplateBinding FontStyle}" FontStretch="{TemplateBinding FontStretch}" FontSize="{TemplateBinding FontSize}" FontFamily="{TemplateBinding FontFamily}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Margin="18 0 0 0" MinWidth="0" MinHeight="0" Padding="{TemplateBinding Padding}" Style="{StaticResource ExpanderDownHeaderStyle}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
199+
<ContentPresenter x:Name="ExpandSite" DockPanel.Dock="Bottom" Focusable="false" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" Visibility="Collapsed" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
200+
</DockPanel>
201+
</Border>
202+
<ControlTemplate.Triggers>
203+
<Trigger Property="IsExpanded" Value="true">
204+
<Setter Property="Visibility" TargetName="ExpandSite" Value="Visible"/>
205+
</Trigger>
206+
<Trigger Property="ExpandDirection" Value="Right">
207+
<Setter Property="DockPanel.Dock" TargetName="ExpandSite" Value="Right"/>
208+
<Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Left"/>
209+
<Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource ExpanderRightHeaderStyle}"/>
210+
</Trigger>
211+
<Trigger Property="ExpandDirection" Value="Up">
212+
<Setter Property="DockPanel.Dock" TargetName="ExpandSite" Value="Top"/>
213+
<Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Bottom"/>
214+
<Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource ExpanderUpHeaderStyle}"/>
215+
</Trigger>
216+
<Trigger Property="ExpandDirection" Value="Left">
217+
<Setter Property="DockPanel.Dock" TargetName="ExpandSite" Value="Left"/>
218+
<Setter Property="DockPanel.Dock" TargetName="HeaderSite" Value="Right"/>
219+
<Setter Property="Style" TargetName="HeaderSite" Value="{StaticResource ExpanderLeftHeaderStyle}"/>
220+
</Trigger>
221+
<Trigger Property="IsEnabled" Value="false">
222+
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
223+
</Trigger>
224+
</ControlTemplate.Triggers>
225+
</ControlTemplate>
226+
</Setter.Value>
227+
</Setter>
228+
</Style>
229+
<!--#endregion-->
9230
<ResourceDictionary.MergedDictionaries>
10231
<ui:ThemeResources RequestedTheme="Light" />
11232
<ui:XamlControlsResources />

0 commit comments

Comments
 (0)