'无法在WPF XAML中创建'错误实例

时间:2014-01-14 16:17:24

标签: c# wpf xaml

我有一个公共课

public class FCabinetNames:List<string>

{
    BusinessLogic admintasks = new BusinessLogic();
    public FCabinetNames()
    {
        try
        {
            List<CabinetData> cab1 = admintasks.CabinetDataforGrid();
            foreach (var c1 in cab1)
            {
                this.Add(c1.CabinetName);
            }
        }
        catch
        {
        }
    }
}

现在在xaml页面中,当我尝试将此类添加为静态资源时,我得到“无法创建实例”,如下所示 enter image description here

请指导。

更新:

我错过了一个重要的观点。应用程序编译正常,xaml页面也可以正常加载。我计划将其用作数据源,并且预计仍然是空白的。

1 个答案:

答案 0 :(得分:10)

过去我遇到过类似的问题。大多数情况下,您的自定义类正在尝试加载它的组件和引用。

对我来说最常用的两步解决方案:

  1. 将自定义类的构造函数移动到另一个函数,然后在列表(或类)的构造函数中调用该函数
  2. 在构造函数中但在Initialize组件之后的函数调用之前添加以下内容。 (我将它用于用户控件,在你的情况下不是真的有效,但取决于你设置的东西。它可能很有用)

  3. if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
    return;
    

    这两个步骤都有助于xaml设计人员加载可能存在调试状态问题的组件。 @Heinzi非常注重“东西”抛出错误,通常(根据我的经验),它埋没了你不会想到的东西。