无法从Style ResourceDictionary引用链接的ResourceProject中的BrushResource

时间:2013-04-11 18:55:28

标签: wpf xaml resourcedictionary

我的应用程序中有一个项目,我保留了所有的资源和工作。可重复使用的自定义控件类(包括样式,画笔,自定义控件等)。

我的应用程序的“Main”项目的App.xaml文件引用了ResourceLibrary文件,该文件引用了我所有有组织的ResourceDictionary文件,如下所示:

     <Application.Resources>
   <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/ControlResources;component/ResourceDictionaries/ResourceLibrary.xaml"/>
            <ResourceDictionary Source="Simple Styles.xaml"/>     
        </ResourceDictionary.MergedDictionaries>

        <Style TargetType="{x:Type Window}">
            <Setter Property="FontFamily" Value="Segoe UI" />
        </Style>

        <Style TargetType="{x:Type Rectangle}" /> 

    </ResourceDictionary>


</Application.Resources>

注意:我正在关注本文here,其中包含一个大修补程序(上面包含的Rectangle样式)。

下面是我的“ControlResources”项目的快照。

This is what my "ControlResource" project outline looks like

当我从我的主项目“GlenwareMaster”引用它们时,引用样式和customControl资源非常有用,但是当从任何样式资源引用“Brushes”下的画笔资源时,应用程序显然找不到它们。 / p>

我的问题:我可以添加项目自引用链接(固有的右键单击混合功能吗?)。如何获取样式ResourceDictionaries以在同一项目中找到Brush ResourceDictionaries?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您如何引用样式字典中的画笔资源字典?确保您使用的是包URI并且它们是正确的。

我的标准做法是在我计划在另一个资源字典中引用的任何资源字典中使用绝对包uri格式 - 如果最后将其移动到另一个项目,则会导致更少的错误。在常用样式资源字典中引用画笔时,请尝试以下操作:

<ResourceDictionary Source="pack://application:,,,/ControlResources;component/ResourceDictionaries/Brushes/MyBrushes.xaml"/>

您可以在此处详细了解Pack URI:http://msdn.microsoft.com/en-us/library/aa970069.aspx