У меня есть приведенное ниже определение для 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>
Теперь я создал прямоугольник на холсте и установил для свойства прямоугольника Fill указанное выше DrawingBrush:
<Rectangle Fill="{DynamicResource arrow}" Stroke="#FF000000" Width="Auto" Height="Auto" Canvas.Top="339.815" Canvas.Left="112.037" x:Name="arrowRectangle"/>
Когда для ширины и высоты прямоугольника установлено значение «Авто», я ожидал, что размер прямоугольника изменится, чтобы автоматически отобразить нарисованную стрелку. Тем не менее, кажется, что мне нужно явно установить ширину / высоту, чтобы увидеть что-нибудь. Если я оставлю ширину / высоту как авто, прямоугольник будет отображаться как одна точка, как если бы ширина = высота = 0.
Кажется, я неправильно понимаю, как работает DrawingBrush. Я просто ищу способ отображения стрелки. Должен ли я использовать изображение вместо DrawingBrush? Сначала я искал DrawingBrush, потому что думал, что для такой простой вещи, как стрелка, она будет работать нормально.
Спасибо.