【发布时间】:2025-12-09 22:50:02
【问题描述】:
我对 DrawingBrush 有以下定义。这是我在网上找到的一个画箭头的例子:
<DrawingBrush x:Key="arrow" Stretch="Uniform">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Brush="#FFFFFFFF" Geometry="F1 M 358.447,332.449L 358.447,319.664L 380.875,319.664L 380.798,309.408L 407.698,326.505L 381.068,343.628L 380.982,332.45L 358.447,332.449 Z "/>
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
现在,我在 Canvas 上创建了一个矩形,并将矩形的 Fill 属性设置为上面的 DrawingBrush:
<Rectangle Fill="{DynamicResource arrow}" Stroke="#FF000000" Width="Auto" Height="Auto" Canvas.Top="339.815" Canvas.Left="112.037" x:Name="arrowRectangle"/>
矩形的宽度和高度设置为“自动”,我希望矩形调整大小以自动显示绘制的箭头。但是,似乎我需要明确设置宽度/高度才能看到任何东西。如果我将 Width/Height 保留为 Auto,则矩形将显示为一个点,就好像 Width = Height = 0。
似乎我误解了 DrawingBrush 的工作原理。我只是在寻找一种显示箭头的方法。我是否必须使用图像而不是绘图笔?我首先寻找了一个绘图笔,因为我认为像箭头这样简单的东西会很好用。
谢谢。
【问题讨论】: