我有下一个XAML代码:
<Grid>
<Grid.Resources>
<ResourceDictionary Source="Styles.xaml"/>
</Grid.Resources>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<Path Style="{StaticResource UserIcon}"/>
<Path Style="{StaticResource UserIcon}"/>
</StackPanel>
</Grid>
Styles.xaml中的样式:
<Style x:Key="UserIcon"
TargetType="Path">
<Style.Setters>
<Setter Property="Data" Value="M0 58l0 13 70 0 0 -12c-39,-33 -70,-1 -70,-1zm53 -40c0,-10 -8,-18 -18,-18 -9,0 -17,8 -17,18 0,9 8,17 17,17 10,0 18,-8 18,-17z" />
<Setter Property="Fill" Value="Black"/>
</Style.Setters>
</Style>
问题:样式仅使用了一次。第二个路径控件没有样式中的数据,在设计器中(以及执行中)它看起来都像this。
答案 0 :(得分:3)
我怀疑这里的问题是Data
不是依赖项属性。我发现重用路径的唯一方法是仅以简单的字符串重用几何数据:
<Page.Resources>
<x:String x:Key="UserIconGeometry">M0 58l0 13 70 0 0 -12c-39,-33 -70,-1 -70,-1zm53 -40c0,-10 -8,-18 -18,-18 -9,0 -17,8 -17,18 0,9 8,17 17,17 10,0 18,-8 18,-17z</x:String>
</Page.Resources>
<StackPanel>
<Path Data="{StaticResource UserIconGeometry}" Fill="Red" />
<Path Data="{StaticResource UserIconGeometry}" Fill="Red" />
</StackPanel>