wpf - ResourceDictionary 中的别名或引用

标签 wpf resources reference alias resourcedictionary

我正在寻找一种方法来本质上为 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>

关于wpf - ResourceDictionary 中的别名或引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797454/

相关文章:

c# - 为 TreeView 和 TreeViewItem 触发的 ContextMenuOpening 事件

wpf - 如何清除插件项目中的 WPF/XAML 类型缓存

delphi - 某些 XE2 程序在 Windows 资源管理器中不显示新的可执行图标

c# - 是否可以编写代码来造成无法通过终止进程修复的那种损坏?

c++ - 通过引用作为 Int 返回

arrays - 当新项目添加到原始数组时,如何更新作为 init 参数传递的数组

c# - 使用单例 PixelShader 应该是最佳实践吗?

c# - 如何在 MarkupExtension 的设计时获取静态资源值?

javascript - Ng-Repeat 在资源查询后不更新 - $apply() 不起作用

syntax - 从引用分配变量时,ref 和 & 有什么区别?