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

sim*_*mba 9 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
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在在xaml页面中,当我尝试将此类添加为静态资源时,我得到'无法创建实例',如下所示 在此输入图像描述

请指导.

更新:

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

Gau*_*ier 10

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

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

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

if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
return;
Run Code Online (Sandbox Code Playgroud)

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