【发布时间】:2016-10-26 15:23:10
【问题描述】:
我正在使用 xaml 和 C# 开发一个 WP8.1 应用程序。 我想要一个按钮或椭圆填充多种颜色,如下图所示。除了使用饼图控件外,我如何实现这一点? 我只需要它的最大高度为 80,宽度为 80 有人可以帮我吗? 提前感谢
【问题讨论】:
标签: xaml windows-runtime windows-phone-8.1 winrt-xaml
我正在使用 xaml 和 C# 开发一个 WP8.1 应用程序。 我想要一个按钮或椭圆填充多种颜色,如下图所示。除了使用饼图控件外,我如何实现这一点? 我只需要它的最大高度为 80,宽度为 80 有人可以帮我吗? 提前感谢
【问题讨论】:
标签: xaml windows-runtime windows-phone-8.1 winrt-xaml
您使用弧形控件来创建此形状。
xmlns:es="clr-namespace:Microsoft.Expression.Shapes;assembly=Microsoft.Expression.Drawing"
<Grid>
<es:Arc ArcThickness="1" ArcThicknessUnit="Percent" EndAngle="360" Fill="#FF82ECDD" HorizontalAlignment="Left" Height="293" Margin="0,0,0,-100" Stretch="None" StartAngle="61" UseLayoutRounding="False" VerticalAlignment="Top" Width="294"/>
<es:Arc ArcThickness="1" ArcThicknessUnit="Percent" EndAngle="360" Fill="#FF38B5E4" HorizontalAlignment="Left" Height="293" Margin="0,0,0,-100" Stretch="None" StartAngle="298" UseLayoutRounding="False" VerticalAlignment="Top" Width="294" RenderTransformOrigin="0.5,0.5">
<es:Arc.RenderTransform>
<CompositeTransform Rotation="61.609"/>
</es:Arc.RenderTransform>
</es:Arc>
<es:Arc ArcThickness="1" ArcThicknessUnit="Percent" EndAngle="360" Fill="#FF349AD4" HorizontalAlignment="Left" Height="293" Margin="0,0,0,-100" Stretch="None" StartAngle="179" UseLayoutRounding="False" VerticalAlignment="Top" Width="294" RenderTransformOrigin="0.5,0.5">
<es:Arc.RenderTransform>
<CompositeTransform Rotation="-119.36"/>
</es:Arc.RenderTransform>
</es:Arc>
</Grid>
【讨论】:
您可以将单个椭圆转换为路径,然后删除路径中的一个点使其成为半圆。 将三个半圆以适当的角度旋转,以实现类似于上图的效果。
【讨论】: