異常背景:
第一次開發 WPF 時,所有資源都定義在 App.xaml 文件中。隨着項目資源的增多,查看與修改資源時很麻煩,就在 App.xaml 以集成資源字典的方式。
異常原因:
在 App.xaml 中定義資源時,我把項目中需要使用的 Class 都寫在最上面
<Application.Resources> <app:ColorCollection_Column x:key="C_CCC"/> ... </Application.Resources>
在 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>
<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 資源的引用 )在前,所以報錯。
