资源字典中的别名或引用



我正在寻找一种方法,基本上在ResourceDictionary多个键中给出一个项目。有办法做到这一点吗?

<DataTemplate x:Key="myTemplate" ... />
<AliasedResource x:Key="myTemplateViaAlias" Target="myTemplate" OR_Target={StaticResource myTemplate} />

当我调用TryFindResource("myTemplateViaAlias")时,我想把myTemplate取出来。我想我可以自己创建一个AliasedResource类,并在代码中解引用它,当我把它从字典中取出时,但我宁愿不这样做,如果有一个内置的方法。

你可以通过动态资源输送资源(注意,蹩脚的UI设计师不会喜欢它)

<Color x:Key="color">Red</Color>
<DynamicResource x:Key="mycolor" ResourceKey="color"/>
<Rectangle Width="100" Height="100">
    <Rectangle.Fill>
        <SolidColorBrush Color="{StaticResource color}"/>
    </Rectangle.Fill>
</Rectangle>
<Rectangle Width="100" Height="100">
    <Rectangle.Fill>
        <SolidColorBrush Color="{StaticResource mycolor}"/>
    </Rectangle.Fill>
</Rectangle>

我知道没有办法做到这一点。

然而,如果你的目标是多个控件的多个模板,你可能想错了。

你可以有多个资源(数据模板和动态资源)具有相同的全局命名键,或用于样式的默认键(控件类类型),然后在每个控件/区域/选项卡/窗口中加载不同的资源字典文件,

相关内容

  • 没有找到相关文章

最新更新