我有一个 WPF 窗口,它应该从 XAML 文件加载两个矢量图像。(每个都在一个单独的文件中,以便在表达式设计中进行修改。)
当我在 a 中包含 XAML 文件时MergedDictionary
,它工作正常。这是我使用的代码:
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Images/LCCD logo.xaml" />
<ResourceDictionary Source="Images/LCCD bottom image.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
和
<Image Source="{Binding Source={StaticResource LCCDlogo}}" /> <!-- Simplified -->
<Image Source="{Binding Source={StaticResource LCCDbar}}" /> <!-- Simplified -->
但是,我现在需要向 Window 的资源添加更多内容。新资源属于这个窗口,所以我们希望它在同一个文件中,而不是包含的文件中。
<Window.Resources>
当我在and之间添加以下代码时<ResourceDictionary>
,出现以下错误:
代码
<Style TargetType="{x:Type tab:FabTabItem}">
<Setter Property="Header" Value="{Binding Path=LabelText}"/>
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,4,0">
<TextBlock Text="{Binding}" TextTrimming="CharacterEllipsis"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
警告
设计器不支持加载将没有键的“ResourceDictionary”项目与同一集合中的其他项目混合的字典。请确保“Resources”属性不包含没有键的“ResourceDictionary”项,或者“ResourceDictionary”项是集合中的唯一元素。
所以我把<ResourceDictionary>
标签改成这样:
<ResourceDictionary x:Key="Images">
但是,我现在不知道如何访问此词典中的资源。你如何从一个命名的内部获取资源ResourceDictionary
?
编辑
没关系。这编译但不运行。
错误是:
''Resources' 属性已在 'MainWindow' 上设置。
我想我必须以其他方式来做。