【发布时间】:2012-06-07 01:32:16
【问题描述】:
我有一个 WPF 窗口,它应该从 XAML 文件加载两个矢量图像。 (每个都在一个单独的文件中,以便在表达式设计中进行修改。)
当我将 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,所以我们希望它在同一个文件中,而不是在包含的文件中。
当我在<Window.Resources> 和<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' 没有键的项目和其他项目相同 收藏。请确保“资源”属性不 包含没有键的“ResourceDictionary”项目,或者 'ResourceDictionary' 项是集合中的唯一元素。
所以我把<ResourceDictionary>标签改成这样:
<ResourceDictionary x:Key="Images">
但是,我现在不知道如何访问此词典中的资源。如何从名为 ResourceDictionary 的内部获取资源?
编辑
没关系。这会编译但不会运行。
错误是:
''Resources' 属性已在'MainWindow' 上设置。
我想我得换个方式了。
【问题讨论】:
标签: wpf xaml resourcedictionary