gpt4 book ai didi

wpf - 为什么我在合并的资源字典中找不到 DataTemplates?

转载 作者:行者123 更新时间:2023-12-04 06:53:27 27 4
gpt4 key购买 nike

在我的 MainWindow.xaml 中,我对 ResourceDictionary 有以下引用:

<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MainSkin.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>

在 MainSkin.xaml 中,我定义了一个数据模板:
<DataTemplate x:Key="TagTemplate">
...
</DataTemplate>

在我的应用程序中,我尝试使用这个数据模板:
<ContentControl DataContext="{Binding Tag}" ContentTemplate="{StaticResource TagTemplate}"/>

代码编译成功,但是当我尝试加载包含此 StaticResource 的 Page 或 UserControl 时,我收到一个异常,指出找不到 TagTemplate。

我究竟做错了什么?

最佳答案

为了访问在 XAML 文件中定义的资源的内容,您需要在每个页面和使用它的控件中“包含”该 XAML 文件。所以每个 XAML 文件都需要有 MergedDictionaries MainWindow.xaml 中的条目。

或者,您可以将这些合并字典添加到 App.xaml这些资源是隐式包含的:

<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MainSkin.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>

关于wpf - 为什么我在合并的资源字典中找不到 DataTemplates?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2798878/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com