uwp - Line in style 的 TargetType 在 UWP 中不起作用
问题描述
我有以下代码:
<Grid>
<Grid.Resources>
<Style TargetType="Line">
<Setter Property="Stroke" Value="Black"></Setter>
<Setter Property="StrokeDashArray" Value="3"></Setter>
<Setter Property="StrokeThickness" Value="3"></Setter>
</Style>
</Grid.Resources>
<Line X1="20" X2="500" Y1="50" Y2="50"></Line>
<Line X1="20" X2="500" Y1="100" Y2="100"></Line>
<Line X1="20" X2="500" Y1="150" Y2="150"></Line>
</Grid>
您可以看到屏幕截图,StrokeDashArray
样式中的属性值仅适用于第一行。为什么?
解决方案
我可以重现此问题,但我不确定是什么导致了这种意外行为。我会向团队询问这个问题。作为一种解决方法,您可以使用 StaticResource 来共享 StrokeDashArray 的值。
<Grid>
<Grid.Resources>
<Style TargetType="Line">
<Setter Property="Stroke" Value="Black"></Setter>
<Setter Property="StrokeThickness" Value="3"></Setter>
</Style>
<x:String x:Key="strokeArray">3</x:String>
</Grid.Resources>
<Line X1="20" X2="500" Y1="50" Y2="50" StrokeDashArray="{StaticResource strokeArray}"></Line>
<Line X1="20" X2="500" Y1="100" Y2="100" StrokeDashArray="{StaticResource strokeArray}"></Line>
<Line X1="20" X2="500" Y1="150" Y2="150" StrokeDashArray="{StaticResource strokeArray}"></Line>
</Grid>
推荐阅读
- clojurescript - 如何诊断渲染失败的原因
- amazon-dynamodb - 仅在 PK 上的 DynamoDB 更新项目条件
- rust - 从方法调用中修复对 self 的挥之不去的不可变引用
- jupyter-notebook - Pycharm 和 Jupyter 笔记本
- html - 滚动捕捉
- php - 调用数组 Laravel Maatwebsite 上的成员函数 chunk()
- reactjs - 没有办法保护 Typescript JSX 上的意外无效标识符(如 kebab-case)吗?
- oracle - 管理代理未将日志上传到 Oracle 云基础设施 (OCI)
- prometheus - Grafana 警报条件函数
- python - 在第一个空行时停止使用 xlrd 从 xls 构建列表