silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为Silverlight资源字典添加代码时出错:AG_E_PARSER_BAD_TYPE大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

应该可以在Silverlight中为资源字典添加代码隐藏文件,但是我从App.xaml构造函数的InitializeComponent方法中抛出相同的错误:XamlParseException:AG_E_PARSER_BAD_TYPE. 资源字典xaml文件如下所示: <resourceDictionary xmlns="http://scheR_15_11845@as.microsoft.com/winfx
应该可以在Silverlight中为资源字典添加代码隐藏文件,但是我从App.xaml构造函数的InitializeComponent方法中抛出相同的错误:XamlParseException:AG_E_PARSER_BAD_TYPE.

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

<resourceDictionary
    xmlns="http://scheR_15_11845@as.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://scheR_15_11845@as.microsoft.com/winfx/2006/xaml"
    x:Class="Celerior.Annapurna.Sl.ProvisiorresourceDictionary"
    x:ClassModifier="public">
    ...
</resourceDictionary>

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

<Application xmlns="http://scheR_15_11845@as.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://scheR_15_11845@as.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的实例.

大佬总结

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。