提问人:Alexander 提问时间:11/17/2023 最后编辑:EldHaspAlexander 更新时间:11/20/2023 访问量:40
WPF 中的“角径向”菜单
Corner Radial menu in WPF
问:
我正在 WPF 中创建一个径向菜单,该菜单位于窗口的一角,如下所示:
这是另一个示例:
我认为从图像或poligons创建用户控件会更方便。
在尝试了一些选项后,我决定使用多边形来做,这些多边形使用网格作为容器,而容器又位于边框内。
好吧,我被困在这里:
我设法使用多边形创建了菜单的一部分,但我无法使多边形看起来是圆形的:![没有圆角的菜单][1]
它应该看起来像这样:![圆角菜单][2]
这是我的代码:
<Window x:Class="RippleApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:RippleApp"
mc:Ignorable="d"
Title="MainWindow"
Height="600"
Width="800"
WindowStartupLocation="CenterScreen"
WindowStyle="None"
AllowsTransparency="True"
Background="#FF28305A">
<Border x:Name="Border1" BorderBrush="Black" BorderThickness="1,1,1,1" CornerRadius="200" Height="400" Width="400" Margin="0,0,0,0" Background="Black">
<Grid>
<Polygon x:Name="pie1" Points="200,200 344,450 0,450" Fill="#FFF48117" Stroke="Black" StrokeThickness="1"/>
<Polygon x:Name="pie3" Points="200,200 450,0 450,344" Fill="#FF8FAB41" Stroke="Black" StrokeThickness="1"/>
<Polygon x:Name="pie2" Points="200,200 344,450 450,344" Fill="#FF767BE0" Stroke="Black" StrokeThickness="1"/>
</Grid>
</Border>
</Window>
我还尝试使用结合了 visualbrush 和 opacitymask 的画布容器,但它对我不起作用,多边形不采用边框容器的圆形:
<Canvas>
<Canvas.OpacityMask>
<VisualBrush Visual="{Binding ElementName=Border1}" />
</Canvas.OpacityMask>
</Canvas>
答: 暂无答案
评论