我工作在一個WPF項目與許多用戶控件,我試圖把我的WPF資源的一些理智。在WPF中,我如何在ResourceDictionaries之間交叉引用資源?
基本文件包含所有視圖需要通用的東西,比如顏色:
<!-- Resources.xaml -->
<Color x:Key="FlashOrange">#F59500</Color>
那麼,具體到一個視圖中的資源文件需要引用FlashOrange:
<!-- ContactViewResources.xaml -->
<DataTrigger Binding="{Binding IsActiveConversation}" Value="True">
<Setter Property="Background" Value="{StaticResource FlashOrange}"/>
</DataTrigger>
最後我d喜歡在我的UserControl中「包含」。不幸的是,通過這種方法,我得到了一個關於{StaticResource FalshOrange}的例外情況沒有被定義。
<!-- ContactView.xaml -->
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="..\Resources.xaml"/>
<ResourceDictionary Source="ContactViewResources.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
所有的視圖文件是在同一個DLL組件和一個單獨的EXE組件運行
謝謝!