【问题标题】:What't request to create an instance of user control dynamically?什么不要求动态创建用户控件的实例?
【发布时间】:2009-08-14 17:11:34
【问题描述】:

我尝试从如下的 xap 文件动态加载程序集:

AssemblyPart asmPart = new AssemblyPart();
StreamResourceInfo streamInfo = Application.GetResourceStream(new StreamResourceInfo(xapFileStream, "application/binary"), new Uri(source, UriKind.Relative));
Assembly asm = asmPart.Load(streamInfo.Stream);
FrameworkElement element = asm.CreateInstance(className) as FrameworkElement;

然后我尝试加载用户控件 MainPage。如果 MainPage 很简单:

如果

namespace TestApp
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }
    }
}

没关系。但如果 MainPage 喜欢:

namespace TestApp
{
    public partial class MainPage : UserControl
    {
        private readonly Dictionary<IWorkbenchWidget, TabControlElement> tabs;


        public MainPage()
        {
            InitializeComponent();
        base.Loaded += new RoutedEventHandler(myHandler);
        }
    }
}

失败了。

那么想知道如果使用Assembly.CreateInstance来创建一个类的实例,对这个类有什么特殊要求吗?

【问题讨论】:

    标签: silverlight-3.0


    【解决方案1】:

    问题似乎出在:

    base.Loaded += new RoutedEventHandler(myHandler);
    

    您没有在 MainPage 中定义名为“myHandler”的事件处理程序(除非您为了简洁而省略了它?)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-08
      • 2015-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多