我在一个名为ItemsTemplate
的单独项目中有一个资源字典。
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type TextBox}"
x:Key="TextBoxesTemplate"
>
<Setter Property="OverridesDefaultStyle"
Value="True"/>
<Setter Property="Margin"
Value="5"/>
<Setter Property="BorderThickness"
Value="1"></Setter>
</Style>
</ResourceDictionary>
我想在许多不同的项目中使用它。当我运行它时,我抛出异常说:
'Set property 'System.Windows.ResourceDictionary.Source' threw an exception.'
所以这是我的实现和我尝试过的:
和
<ResourceDictionary Source="/ItemTemplates;component/Style.xaml"></ResourceDictionary>
和
<TextBox Style="{StaticResource TextBoxesTemplate}"
Grid.Row="0"
Grid.Column="2"
Text="{Binding SelectedModel.Code}"/>
我试图改为
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/ItemTemplates;component/Style.xaml">
</ResourceDictionary.MergedDictionaries>
和
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/ItemTemplates;component/Style.xaml">
</ResourceDictionary.MergedDictionaries>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack:application,,,/ItemTemplates;component/Style.xaml">
</ResourceDictionary.MergedDictionaries>
注意:这是.net 4.5.2
编辑使用此构建。但仍然有异常
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/ItemTemplates;component/Style.xaml"
x:Name="SDictionary" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
答案 0 :(得分:0)
请参阅链接:https://msdn.microsoft.com/en-us/library/aa970069(VS.85).aspx
只要当前项目具有对单独项目的引用。
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/ItemTemplates;component/Style.xaml" />
</ResourceDictionary.MergedDictionaries>
请再次检查参考资料Source="/ItemTemplates
或Source="/ItemsTemplate
,因为在您的问题中,您写的是:&#34; 我在一个名为 ItemsTemplate <的单独项目中有一个资源字典/强> &#34;