我有一個WPF UserControls庫和一個在庫中共享的ResourceDictionary。在UserControl中引用父項的ResourceDictionary
該庫中的所有用戶控件只出現在單個「外殼」父控件中,這實際上只是一個較小控件集合的容器。我能夠從我的殼控制訪問的ResourceDictionary如預期,當我添加以下XAML
<Control.Resources>
<ResourceDictionary Source="MyResources.xaml" />
</Control.Resources>
但是我不能從坐的「外殼」控件中的子控件訪問ResourceDictionary中。
我的印象是,WPF應該在本地檢查資源,然後向上遍歷,直到找到合適的資源?
相反,我得到
Cannot find resource named '{BoolInverterConverter}'.
Resource names are case sensitive. Error at
object 'System.Windows.Data.Binding' in markup file...
很顯然,我可以(我)在我的子控件引用ResourceDictionary中;但是現在每個控件都需要引用這本詞典,我相信這不是必需的。
任何想法,我做的事情是奇怪的還是我對行爲的期望不正確?
謝謝您的回答;不幸的是,這給出了與我原來的XAML相同的「無法找到資源...」的結果。我正在嘗試使用Keys,但沒有找到任何成功。文檔鏈接的哪一部分描述了發生了什麼 - 我閱讀了它,並且與ResourceDictionaries相關,但是我沒有看到任何特定的資源是否可用於控制層次結構中。 – 2011-01-31 22:30:29