用过 Surface dial 的童鞋们都很熟悉, 当使用 Dial 的时候, 那个圆形菜单很漂亮, 那么我们在普通的 uwp 中是否也可以实现吗?
答案是肯定的
其实这是来源于 GayHub 的一个开源项目, 做的很不错
https://github.com/CatalystCode/radial-menu
下面就一步一步来操作演示下:
1 新建一个项目, 打开 Nuget, 搜索 RadialMenuControl
安装最新的即可, 或者使用命令行
PM> Install-Package RadialMenuControl
在 xaml 中引用
- xmlns:userControl="using:RadialMenuControl.UserControl"
- xmlns:component="using:RadialMenuControl.Components"
接下来就可以设计菜单了
注意在圆形菜单外, 加一层 Floating 包裹以下, 否则圆形菜单位置是固定的, 无法移动
- <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
- <userControl:Floating IsBoundByScreen="True">
- <userControl:RadialMenu
- x:Name="MyRadialMenu"
- InnerNormalColor="GreenYellow"
- InnerHoverColor="Yellow"
- InnerTappedColor="Red"
- InnerReleasedColor="Azure"
- OuterDisabledColor="Orange"
- OuterHoverColor="Red"
- OuterTappedColor="Azure"
- OuterNormalColor="OrangeRed"
- Diameter="300"
- StartAngle="-36"
- CenterButtonForeground="Blue"
- CenterButtonFontSize="30"
- CenterButtonIcon="
来源: https://www.cnblogs.com/hupo376787/p/8621067.html