在XAML根元素中使用StaticResource

时间:2010-03-03 12:20:15

标签: wpf xaml

我想在xaml文档的根元素中使用StaticResource。 但是MSDN说:

  

来自内部的静态资源引用   资源字典必须引用一个   已定义的资源   在资源之前的词汇   参考。前向引用不能   由静态资源解决   参考

而且:

  

然后查找过程遍历   逻辑树向上,到父   元素及其资源字典。   这一直持续到根元素   到了。

我应该在应用程序中定义资源还是从代码创建资源?

2 个答案:

答案 0 :(得分:13)

您实际上可以将任何属性设置为元素和属性,包括像Window.Left这样简单的属性。

这意味着您可以在声明资源后设置Left的值。

<Window.Resources>
    <app:LeftConverter
        x:Key="LeftConverter" />
</Window.Resources>

<Window.Left>
    <Binding
        Path="UnconvertedLeft"
        Converter="{StaticResource LeftConverter}" />
</Window.Left>

答案 1 :(得分:0)

如果你真的需要从根元素访问ResourceDictionary,你可以将它作为DynamicResource而不是StaticResource引用 - 我不确定它是否可行,但它值得一试。< / p>