我有一个圆形按钮,我喜欢给它添加一对天使之翼,但我似乎无法正确绘制它。 我想在左边画一个天使翅膀的边框,在中间画一个圆圈,在右边画一个天使翅膀,一个自定义的形状。
自定义形状是按钮的边框。
按钮是一个可调整大小的按钮,这意味着它可以改变高度和高度。与窗口的宽度,仍然保持相同的位置。
这个按钮只是我到目前为止所做的一个例子。
我在谷歌和这个网站上搜索过一个解决方案,但找不到任何可以帮助我的东西..
答案 0 :(得分:1)
尝试寻找图像/ Photoshop /任何其他图像或绘图方法到Xaml转换器
你可以创建一个图像并将其转换为xaml
见http://vectormagic.com
答案 1 :(得分:1)
您可以使用Inkscape等软件,并且可以打开大多数图像格式,您可以使用跟踪位图选项跟踪路径。这将在<path>
中创建<canvas>
个对象。然后它可以用作背景。
需要注意的事项:
质量高度依赖于图像源质量和精度。因此,如果您的图像具有大量的颜色和渐变,巨大的线条粗细并使用抗锯齿,则会因路径结果上的大量矢量而得到非常糟糕的结果。如果你使用更细的线条和非常少的颜色没有渐变,你可以得到惊人的转换结果。
您也可以手动追踪图像并使用它而不是自动选项。你会得到更好的结果,但需要更多的工作。
创建此路径后,您可以在应用程序字典中创建资源,并将其用于任何您想要的图标或背景。它可以在任何方向上进行扩展,而不会丢失质量,因为它现在是一个矢量&#34;图像&#34;。
答案 2 :(得分:0)
如果有帮助可以试试吗
创建自定义控件,类似这样
<Grid ClipToBounds="True" HorizontalAlignment="Center" VerticalAlignment="Center">
<ed:Arc x:Name="KnobA" ArcThickness="1" ArcThicknessUnit="Percent" EndAngle="360" Height="120" Stretch="None"
Stroke="Black"
StartAngle="0" Width="120" RenderTransformOrigin="0.5,0.5" StrokeThickness="0">
<ed:Arc.Fill>
<ImageBrush ImageSource="/Gazelle;component/Resources/Images/image.png" Stretch="UniformToFill" />
</ed:Arc.Fill>
</ed:Arc>
</Grid>
在您的其他XAML
中使用它<controls:BoundRotaryButton Grid.Column="1" Margin="0,0,35,30"
VerticalAlignment="Bottom" HorizontalAlignment="Right" Opacity="0.2"
Grid.ColumnSpan="2"
BoundRotaryButtonState="{Binding myvm.RotaryPressed, Mode=OneWayToSource,
NotifyOnTargetUpdated=True, UpdateSourceTrigger=PropertyChanged}" />
在按钮控件和鼠标点击处理程序后面的代码中创建依赖项。
public static readonly DependencyProperty KnobAPushButtonStateProperty = DependencyProperty.Register("KnobAPushButtonState", typeof (bool), typeof (KnobA));
public bool KnobAPushButtonState
{
get { return (bool) GetValue(KnobAPushButtonStateProperty); }
set { SetValue(KnobAPushButtonStateProperty, value); }
}
private void KnobA_MouseDown(object sender, MouseEventArgs e)
{
Mouse.Capture(this);
KnobAPushButtonState = true;
private void KnobA_MouseUp(object sender, MouseEventArgs e)
{
Mouse.Capture(null);
KnobAPushButtonState = false;
}
在您的viewmodel中,您将知道此依赖项属性何时更改,按下或释放按钮并调用您需要的命令。
我有一个类似圆形按钮的东西,你可以旋转和按下等等。但是你可以在Blend中使用你喜欢的任何形状。