2010-03-03 31 views
10

我想在xaml文檔的根元素中使用StaticResource。 但MSDN說:從 內在XAML根元素中使用StaticResource

靜態資源引用資源字典必須引用已經在資源 引用之前定義 詞法一個 資源。正向引用不能由 參考靜態資源解決。

這:

的查找過程,然後遍歷 邏輯樹向上,父 元素及其資源字典。 這一直持續到達到根元素 。

我應該在應用程序中定義資源還是從代碼創建它?

+0

其實我對任何東西都是開放的...... – naeron84

+0

你真的需要從根元素訪問它嗎?從頂級子元素引用它是不夠的嗎? – TabbyCool

+0

根元素是一個窗口,我想要綁定的是Left屬性。我忘記提及StaticResource是一個轉換器(實現IValueConverter)。 – naeron84

回答

11

實際上,您可以將任何屬性設置爲元素以及屬性,包括像Window.Left一樣簡單的屬性。

這意味着您可以在聲明資源後設置Left的值。

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

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

如果您真的需要從根元素訪問ResourceDictionary,您可以將它作爲DynamicResource而不是StaticResource引用 - 我不確定它是否可以工作,但可以值得一試。

+0

我試過了。它不起作用。 – naeron84

相關問題