2011-03-31 306 views
11

基本上,我有一個使用DynamicResources的UserControl。應用程序使用該資源編譯並運行正常,但看到此警告消息有點煩人。這讓我想知道我是否正確地做了這件事,這只是一種誤解,或者如果我做錯了,恰好會漏過正在工作的裂縫。WPF動態資源:警告消息 - 「資源'資源'無法解析。」

<Grid Background="{DynamicResource AppDefaultBackgroundColor}"> 
... 
</Grid> 

所以,如果我正確使用它,我該如何擺脫這個警告信息?
如果我沒有恰當地使用它,它應該是什麼樣子,所以我不會收到警告?

P.S.我的應用程序工作正常,但我更喜歡在編譯時沒有任何編譯警告。

+2

?您可能只需更改項目的編譯順序。 – 2011-03-31 20:52:15

+0

從App.xaml中,恰好是存放此UserControl的相同項目。 – 2011-04-01 00:54:17

+2

如果你使用的是設計師:扔掉它,擺脫90%的虛假警告和錯誤。 (注意:該編號可能不完全準確) – 2011-04-01 02:26:48

回答

6

可以映射這樣

<Resources> 
    <ResourceDictionary> 
    <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="..\Resources\Theme.xaml" /> 
    </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Resources>

Theme.xaml您的資源必須包含'AppDefaultBackgroundColor'這樣當正在從加載的資源

<Color x:Key="AppDefaultBackgroundColor">#FF77C6FB</Color> 
+0

我猜**源代碼是試圖在代碼塊中顯示粗體文本?只是想知道,因爲它不喜歡設計師的語法。 – Zack 2015-08-20 21:24:21