異常背景: 第一次開發 WPF 時,所有資源都定義在 App.xaml 文件中。隨著項目資源的增多,查看與修改資源時很麻煩,就在 App.xaml 以集成資源字典的方式。 異常原因: 在 App.xaml 中定義資源時,我把項目中需要使用的 Class 都寫在最上面 <Application.Res ...
異常背景:
第一次開發 WPF 時,所有資源都定義在 App.xaml 文件中。隨著項目資源的增多,查看與修改資源時很麻煩,就在 App.xaml 以集成資源字典的方式。
異常原因:
在 App.xaml 中定義資源時,我把項目中需要使用的 Class 都寫在最上面
<Application.Resources> <app:ColorCollection_Column x:key="C_CCC"/> ... </Application.Resources>App.xaml
在 App.xaml 中集成資源欄位時,我把 Class 與 其它資源分開
<ResourceDictionary xmlns:app ="clr-namespace:TZCloud" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <app:ColorCollection_Column x:Key="C_CCC"/> </ResourceDictionary>資源字典 - Class
<ResourceDictionary xmlns:app ="clr-namespace:TZCloud" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> ... </ResourceDictionary>資源字典 - 其它
<Application.Resources> <ResourceDictionary > <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Dictionary\Other.xaml"/> <ResourceDictionary Source="Dictionary\Class.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources>
因為 Class 資源聲明在後,而其它資源聲明(該資源中有對 Class 資源的引用 )在前,所以報錯。