WPF用户控件基类,无法创建实例。

huangapple go评论102阅读模式
英文:

Wpf usercontrol base, cannot create an instance

问题

我添加了一个Usercontrol基类

我的基类

public class UserControlBase : UserControl
{
    protected IAppLogic app;
    public MainWindow CurrentWindow
    {
        get
        {
            return (App.Current.MainWindow as MainWindow);
        }
    }

    public UserControlBase()
    {
        var _app = IoC.Kernel.Get<IAppLogic>();
        this.app = _app;
    }

    public void MainNavigate(Pages.PageBase p)
    {
        CurrentWindow.MainFrame.Content = p;
    }
}

但是设计没有显示出来。

英文:

I add an Usercontrol base class

my Base Class

 public class UserControlBase : UserControl
    {
        protected IAppLogic app;
        public  MainWindow CurrentWindow{
            get{
                return (App.Current.MainWindow as MainWindow);
            }
        }

         

        public UserControlBase()
        {
            var _app = IoC.Kernel.Get&lt;IAppLogic&gt;();
            this.app = _app;
        }

        public void MainNavigate(Pages.PageBase p)
        {
            CurrentWindow.MainFrame.Content = p;
        }
    }

but the design does not shown

WPF用户控件基类,无法创建实例。

答案1

得分: 1

浏览了一些其他问题,我找到了一些可能发生这种情况的原因

问题1 WPF Designer “Could not create an instance of type”

  1. 在你的构造函数中将代码包裹在这个条件中:
if(!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
{
   // 产生异常的代码         
}
  1. 基类是抽象类型
  2. 在加载自定义控件时,在你的构造函数中抛出了异常。这回溯到第1点。

请分享堆栈跟踪以便我们提供更多帮助。

英文:

Browsing around some of the other questions, I found some of the reasons this can happen

Q1 WPF Designer “Could not create an instance of type”

  1. Suround the code in your constructor with this:
if(!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
{
   //code producing exception         
}
  1. The base class is of the abstract type
  2. An exception is thrown in your constructor while loading the custom control. This goes back to 1.

Please share the stacktrace for us to help more.

huangapple
  • 本文由 发表于 2020年1月3日 15:58:38
  • 转载请务必保留本文链接:https://go.coder-hub.com/59575030.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定