在 Windows 8 (WinRT) 应用程序中,我正在创建自己的 XAML 样式以获得虚线矩形。在样式的设置器中,我使用Property="StrokeDashArray" Value="1,4"
. 然后我创建了一堆矩形,然后将这些矩形的样式显式设置为我创建的这种样式。第一个矩形显示有虚线边框 - 但其他两个没有。但是,如果除了Style={StaticResource myDottedStyle}
我还为StrokeDashArray
每个矩形指定 ,那么它们都正确显示为虚线边框。
为什么虚线边框只显示第一个矩形?如何创建一个Style
应用于所有矩形而不为每个矩形指定 StrokeDashArray?
这是一个完整的代码示例。在 Windows 8 RTM 中,创建一个空白 XAML 应用项目,并将 MainPage.xaml 中的 Grid 替换为以下内容:
<Page.Resources>
<Style x:Key="myDottedStyle" TargetType="Rectangle">
<Setter Property="Stroke"
Value="{StaticResource ApplicationForegroundThemeBrush}"/>
<Setter Property="StrokeThickness" Value="2"/>
<Setter Property="StrokeDashArray" Value="1,4"/>
</Style>
</Page.Resources>
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Rectangle Style="{StaticResource myDottedStyle}" Width="40"
HorizontalAlignment="Left"/>
<Rectangle Style="{StaticResource myDottedStyle}" Width="40"
HorizontalAlignment="Center"/>
<Rectangle Style="{StaticResource myDottedStyle}" Width="40"
HorizontalAlignment="Right"/>
</Grid>
我在这里找到了一个有关 DataTemplates 的相关问题,但我不知道如何将其转化为我的问题。