在我的WPF应用程序中,我想为dag设置rectangle的样式并删除该文件。这个盒子的外观应该是这样的。
在XAML中可以实现这个结果吗?
到目前为止,我已经成功地做到了这一点。
问题出在角落里。角的外观应类似于两个破折号的连接线。例如,左下角-“L”可以调整矩形的大小。
下面是我目前的代码,它是在这个答案的帮助下创建的:
How can I achieve a dashed or dotted border in WPF?
<Rectangle
Fill="LightGray"
AllowDrop="True"
Stroke="#FF000000"
StrokeThickness="2"
StrokeDashArray="5 4"
SnapsToDevicePixels="True"
MinHeight="200"
MinWidth="200"
/>
3条答案
按热度按时间0s7z1bwu1#
为了在WPF中获得这些漂亮的L形角,您必须分别绘制水平和垂直边界,因为
StrokeDashArray
不会(总是)两者相同。您对
StrokeDashArray
的要求是:要得到精确的长度需要画一条线,你必须计算的行数(+1)和空格在你的破折号线,例如。就像这样:
将其 Package 在自定义控件中,您将获得类似于以下内容的内容:
有几件事你应该知道:
StrokeThickness / 2
DashStyle
可随您的StrokeThickness
扩展控件的完整代码:
jhkqcmku2#
这不是答案,而是建议。事实上,我不确定这是否可以用一种简单的方法来实现(也许你可以通过获取控件的宽度和高度来计算
StrokeDashArray
)。但是,您可以使用动画:up9lanfz3#
我修改了接受的答案(@Manfred Radlwimmer),使其看起来像
Rectangle
而不是ContentControl
。