【问题标题】:Workaround for x:Shared in Universal Applicationsx:Shared 在通用应用程序中的解决方法
【发布时间】:2016-01-28 01:17:30
【问题描述】:
我有一个样式设置器,可以将值设置为资源。
它适用于单个元素,但是当样式应用于多个元素时,会引发异常。这就是我所拥有的:
<SymbolIcon x:Key="Star" Symbol="Star" />
<Style TargetType="ContentControl">
<Setter Property="Content" Value="{StaticResource Star}"/>
</Style>
我知道只会创建一个实例。由于我无法创建“多实例”资源,我该如何使其工作?
【问题讨论】:
标签:
.net
xaml
win-universal-app
uwp
【解决方案1】:
如果您想制作一对元素,而不仅仅是一个实例,那么您可以使用模板。一个简单的例子:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.Resources>
<DataTemplate x:Key="Star">
<SymbolIcon Symbol="Favorite"/>
</DataTemplate>
<Style TargetType="ContentControl">
<Setter Property="ContentTemplate" Value="{StaticResource Star}"/>
</Style>
</Grid.Resources>
<StackPanel Orientation="Horizontal">
<ContentControl/>
<ContentControl/>
<ContentControl/>
<ContentControl/>
</StackPanel>
</Grid>