Skip to content

Commit c2a0c24

Browse files
committed
Change CircleManu to CircleManu
Change CircleManu to CircleManu
1 parent 68e6068 commit c2a0c24

File tree

4 files changed

+132
-10
lines changed

4 files changed

+132
-10
lines changed

src/WPFDevelopers.Samples.Shared/ExampleViews/DrawerMenu/DrawerMenuExample.xaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,27 +25,27 @@
2525
<wd:DrawerMenu SelectionChanged="DrawerMenu_SelectionChanged">
2626
<wd:DrawerMenuItem Text="主页">
2727
<wd:DrawerMenuItem.Icon>
28-
<Image Source="pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircularMenu/2.png" />
28+
<Image Source="pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircleMenu/2.png" />
2929
</wd:DrawerMenuItem.Icon>
3030
</wd:DrawerMenuItem>
3131
<wd:DrawerMenuItem Text="Edge">
3232
<wd:DrawerMenuItem.Icon>
33-
<Image Source="pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircularMenu/4.png" />
33+
<Image Source="pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircleMenu/4.png" />
3434
</wd:DrawerMenuItem.Icon>
3535
</wd:DrawerMenuItem>
3636
<wd:DrawerMenuItem Text="云盘">
3737
<wd:DrawerMenuItem.Icon>
38-
<Image Source="pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircularMenu/1.png" />
38+
<Image Source="pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircleMenu/1.png" />
3939
</wd:DrawerMenuItem.Icon>
4040
</wd:DrawerMenuItem>
4141
<wd:DrawerMenuItem Text="邮件">
4242
<wd:DrawerMenuItem.Icon>
43-
<Image Source="pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircularMenu/8.png" />
43+
<Image Source="pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircleMenu/8.png" />
4444
</wd:DrawerMenuItem.Icon>
4545
</wd:DrawerMenuItem>
4646
<wd:DrawerMenuItem Text="视频">
4747
<wd:DrawerMenuItem.Icon>
48-
<Image Source="pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircularMenu/6.png" />
48+
<Image Source="pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircleMenu/6.png" />
4949
</wd:DrawerMenuItem.Icon>
5050
</wd:DrawerMenuItem>
5151
<wd:DrawerMenuItem Text="Bus">

src/WPFDevelopers.Samples.Shared/ExampleViews/DrawerMenu/DrawerMenuExample.xaml.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ public DrawerMenuExample()
3333
{
3434
InitializeComponent();
3535
var items = new List<DrawerMenuItem>();
36-
items.Add(new DrawerMenuItem { Text = "Menu01", Icon = new Image() { Source = new BitmapImage(new Uri($"pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircularMenu/1.png")) } });
37-
items.Add(new DrawerMenuItem { Text = "Menu02", Icon = new Image() { Source = new BitmapImage(new Uri($"pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircularMenu/2.png")) } });
38-
items.Add(new DrawerMenuItem { Text = "Menu03", Icon = new Image() { Source = new BitmapImage(new Uri($"pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircularMenu/3.png")) } });
36+
items.Add(new DrawerMenuItem { Text = "Menu01", Icon = new Image() { Source = new BitmapImage(new Uri($"pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircleMenu/1.png")) } });
37+
items.Add(new DrawerMenuItem { Text = "Menu02", Icon = new Image() { Source = new BitmapImage(new Uri($"pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircleMenu/2.png")) } });
38+
items.Add(new DrawerMenuItem { Text = "Menu03", Icon = new Image() { Source = new BitmapImage(new Uri($"pack://application:,,,/WPFDevelopers.Samples;component/Resources/Images/CircleMenu/3.png")) } });
3939
DrawerMenuItems = items;
4040
}
4141

src/WPFDevelopers.SamplesCode/WPFDevelopers.SamplesCode.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@
191191
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\ChatEmojiExample.xaml">
192192
<Link>ExampleViews\ChatEmojiExample.xaml</Link>
193193
</Resource>
194-
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\CircularMenuExample.xaml">
195-
<Link>ExampleViews\CircularMenuExample.xaml</Link>
194+
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\CircleMenuExample.xaml">
195+
<Link>ExampleViews\CircleMenuExample.xaml</Link>
196196
</Resource>
197197
<Resource Include="..\WPFDevelopers.Samples.Shared\ExampleViews\CircleProgressBarExample.xaml">
198198
<Link>ExampleViews\CircleProgressBarExample.xaml</Link>
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
<ResourceDictionary
2+
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4+
xmlns:controls="clr-namespace:WPFDevelopers.Controls"
5+
xmlns:convert="clr-namespace:WPFDevelopers.Converts">
6+
<ResourceDictionary.MergedDictionaries>
7+
<ResourceDictionary Source="Basic/ControlBasic.xaml" />
8+
</ResourceDictionary.MergedDictionaries>
9+
<convert:IndexToColor x:Key="WD.IndexToColor" />
10+
<Style
11+
x:Key="WD.CircleMenuItem"
12+
BasedOn="{StaticResource WD.ControlBasicStyle}"
13+
TargetType="{x:Type controls:CircleMenuItem}">
14+
<Setter Property="Template">
15+
<Setter.Value>
16+
<ControlTemplate TargetType="{x:Type controls:CircleMenuItem}">
17+
<controls:SmallPanel VerticalAlignment="Top">
18+
<controls:SmallPanel.RenderTransform>
19+
<RotateTransform x:Name="PART_RotateTransform" Angle="{TemplateBinding Angle}" CenterX="200" CenterY="200" />
20+
</controls:SmallPanel.RenderTransform>
21+
<Path
22+
x:Name="PART_Path"
23+
VerticalAlignment="Center"
24+
Data="{StaticResource WD.CircularGeometry}"
25+
Fill="{TemplateBinding BackgroundColor}" />
26+
<Image
27+
Width="40"
28+
Height="40"
29+
Margin="60,100,0,0"
30+
HorizontalAlignment="Left"
31+
VerticalAlignment="Center"
32+
RenderTransformOrigin="0.5,0.5"
33+
Source="{TemplateBinding IconImage}">
34+
<Image.RenderTransform>
35+
<RotateTransform Angle="-70" />
36+
</Image.RenderTransform>
37+
</Image>
38+
</controls:SmallPanel>
39+
<ControlTemplate.Triggers>
40+
<Trigger Property="IsMouseOver" Value="True">
41+
<Setter TargetName="PART_Path" Property="Fill" Value="{DynamicResource WD.PrimaryNormalSolidColorBrush}" />
42+
</Trigger>
43+
</ControlTemplate.Triggers>
44+
</ControlTemplate>
45+
</Setter.Value>
46+
</Setter>
47+
</Style>
48+
<Style
49+
x:Key="WD.CircleMenu"
50+
BasedOn="{StaticResource WD.ControlBasicStyle}"
51+
TargetType="{x:Type controls:CircleMenu}">
52+
<Setter Property="Width" Value="400" />
53+
<Setter Property="Height" Value="400" />
54+
<Setter Property="Template">
55+
<Setter.Value>
56+
<ControlTemplate TargetType="{x:Type controls:CircleMenu}">
57+
<controls:SmallPanel>
58+
<ItemsControl
59+
x:Name="PART_ItemsControl"
60+
Width="{TemplateBinding Width}"
61+
Height="{TemplateBinding Height}"
62+
AlternationCount="{TemplateBinding AlternationCount}"
63+
ItemsSource="{TemplateBinding ItemsSource}">
64+
<ItemsControl.Clip>
65+
<EllipseGeometry
66+
x:Name="PART_EllipseGeometry"
67+
Center="200,200"
68+
RadiusX="0"
69+
RadiusY="0" />
70+
</ItemsControl.Clip>
71+
<ItemsControl.ItemTemplate>
72+
<DataTemplate>
73+
<controls:CircleMenuItem
74+
Angle="{Binding Angle}"
75+
BackgroundColor="{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource WD.IndexToColor}}"
76+
IconImage="{Binding IconImage}"
77+
MenuTxt="{Binding MenuTxt}" />
78+
</DataTemplate>
79+
</ItemsControl.ItemTemplate>
80+
<ItemsControl.ItemsPanel>
81+
<ItemsPanelTemplate>
82+
<controls:SmallPanel />
83+
</ItemsPanelTemplate>
84+
</ItemsControl.ItemsPanel>
85+
</ItemsControl>
86+
<ToggleButton x:Name="PART_ToggleButton" Cursor="Hand">
87+
<ToggleButton.Template>
88+
<ControlTemplate TargetType="ToggleButton">
89+
<controls:SmallPanel>
90+
<Ellipse
91+
x:Name="PART_Ellipse"
92+
Width="100"
93+
Height="100"
94+
Fill="{StaticResource WD.PrimaryNormalSolidColorBrush}" />
95+
<controls:PathIcon
96+
x:Name="PART_Path"
97+
Width="20"
98+
Height="20"
99+
Foreground="{StaticResource WD.BackgroundSolidColorBrush}"
100+
Kind="Add"
101+
RenderTransformOrigin="0.5,0.5" />
102+
</controls:SmallPanel>
103+
<ControlTemplate.Triggers>
104+
<Trigger Property="IsChecked" Value="True">
105+
<Setter TargetName="PART_Path" Property="RenderTransform">
106+
<Setter.Value>
107+
<RotateTransform Angle="45" />
108+
</Setter.Value>
109+
</Setter>
110+
</Trigger>
111+
</ControlTemplate.Triggers>
112+
</ControlTemplate>
113+
</ToggleButton.Template>
114+
</ToggleButton>
115+
</controls:SmallPanel>
116+
</ControlTemplate>
117+
</Setter.Value>
118+
</Setter>
119+
</Style>
120+
<Style BasedOn="{StaticResource WD.CircleMenuItem}" TargetType="{x:Type controls:CircleMenuItem}" />
121+
<Style BasedOn="{StaticResource WD.CircleMenu}" TargetType="{x:Type controls:CircleMenu}" />
122+
</ResourceDictionary>

0 commit comments

Comments
 (0)