我想在xaml文檔的根元素中使用StaticResource。 但MSDN說:從 內在XAML根元素中使用StaticResource
靜態資源引用資源字典必須引用已經在資源 引用之前定義 詞法一個 資源。正向引用不能由 參考靜態資源解決。
這:
的查找過程,然後遍歷 邏輯樹向上,父 元素及其資源字典。 這一直持續到達到根元素 。
我應該在應用程序中定義資源還是從代碼創建它?
我想在xaml文檔的根元素中使用StaticResource。 但MSDN說:從 內在XAML根元素中使用StaticResource
靜態資源引用資源字典必須引用已經在資源 引用之前定義 詞法一個 資源。正向引用不能由 參考靜態資源解決。
這:
的查找過程,然後遍歷 邏輯樹向上,父 元素及其資源字典。 這一直持續到達到根元素 。
我應該在應用程序中定義資源還是從代碼創建它?
實際上,您可以將任何屬性設置爲元素以及屬性,包括像Window.Left一樣簡單的屬性。
這意味着您可以在聲明資源後設置Left的值。
<Window.Resources>
<app:LeftConverter
x:Key="LeftConverter" />
</Window.Resources>
<Window.Left>
<Binding
Path="UnconvertedLeft"
Converter="{StaticResource LeftConverter}" />
</Window.Left>
如果您真的需要從根元素訪問ResourceDictionary,您可以將它作爲DynamicResource而不是StaticResource引用 - 我不確定它是否可以工作,但可以值得一試。
我試過了。它不起作用。 – naeron84
其實我對任何東西都是開放的...... – naeron84
你真的需要從根元素訪問它嗎?從頂級子元素引用它是不夠的嗎? – TabbyCool
根元素是一個窗口,我想要綁定的是Left屬性。我忘記提及StaticResource是一個轉換器(實現IValueConverter)。 – naeron84