gpt4 book ai didi

silverlight - 在 Silverlight 资源字典后面添加代码时出错 : AG_E_PARSER_BAD_TYPE

转载 作者:行者123 更新时间:2023-12-02 12:23:01 25 4
gpt4 key购买 nike

应该可以在 Silverlight 中为资源字典添加代码隐藏文件,但我不断收到相同的错误,从 InitializeComponent 抛出。我的方法App.xaml构造函数:XamlParseException :AG_E_PARSER_BAD_TYPE .

资源字典 xaml 文件如下所示:

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Celerior.Annapurna.SL.ProvisiorResourceDictionary"
x:ClassModifier="public">
...
</ResourceDictionary>

如果我删除 x:Class属性一切再次正常(当然,我仔细检查了类名并且它是正确的)。我的App.xaml文件并不令人兴奋,只是包含对资源字典的引用:

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Celerior.Annapurna.SL.App">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ProvisiorResourceDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>

我做错了什么?

亲切的问候,

罗纳德·维尔登伯格

最佳答案

Silverlight 不支持仅在 WPF 中支持的 x:ClassModifier。

此外,x:Class 在资源字典中无效。当然,当尝试将资源字典中的 Xaml 作为合并字典包含时,Silverlight 将不知道此时如何处理 x:Class。

实际上,上面的内容严格来说并不正确 x:Class 是有效的,但是您将字典包含在应用程序字典中的方式需要调整。首先我要声明的是,这里假设您实际上需要对 ResourceDictionary 进行子类化(如果不只是删除 x:Class)。

基于您包含的 x:ClassModifier,我也将采取冒险行动,因为您的项目中实际上没有 ProvisiorResourceDictionary.xaml.cs 文件。由于 SL 总是创建一个公共(public)部分,因此您需要此文件至少包含:-

public partial class ProvisiorResourceDictionary
{
public ProvisiorResourceDictionary()
{
InitializeComponent();
}
}

也就是说,如果还没有这样的东西,那么你也可以完全删除 x:Class 。

现在您的 app.xaml 需要如下所示:-

<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<common:ProvisiorResourceDictionary />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>

现在,您不再尝试通过 Source 属性将 XAML 文件作为资源导入,而是包含专用 ResourceDictionary 的实例。

关于silverlight - 在 Silverlight 资源字典后面添加代码时出错 : AG_E_PARSER_BAD_TYPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1728015/

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