为Silverlight资源字典添加代码时出错:AG_E_PARSER_BAD_TYPE

为Silverlight资源字典添加代码时出错:AG_E_PARSER_BAD_TYPE,第1张

概述应该可以在Silverlight中为资源字典添加代码隐藏文件,但是我从App.xaml构造函数的InitializeComponent方法中抛出相同的错误:XamlParseException:AG_E_PARSER_BAD_TYPE. 资源字典xaml文件如下所示: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx 应该可以在Silverlight中为资源字典添加代码隐藏文件,但是我从App.xaml构造函数的InitializeComponent方法中抛出相同的错误: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:类是有效的,但是你在应用程序字典中包含字典的方式需要调整.让我首先说明这里有一个假设,你实际上需要子类ResourceDictionary(如果不只是删除x:Class).

基于你包含的x:ClassModifIEr你实际上在你的项目中没有ProvisiorResourceDictionary.xaml.cs文件,我也会想出去.由于SL总是创建公共部分,因此您需要至少包含此文件: –

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的实例.

@H_301_58@ 总结

以上是内存溢出为你收集整理的为Silverlight资源字典添加代码时出错:AG_E_PARSER_BAD_TYPE全部内容,希望文章能够帮你解决为Silverlight资源字典添加代码时出错:AG_E_PARSER_BAD_TYPE所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1005996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存