zoukankan      html  css  js  c++  java
  • Prism中在Region中注入匹配问题

        [Export]
        public partial class TitleView : UserControl
        {
            public TitleView()
            {
                InitializeComponent();
            }
            [Import("TitleViewModel")]
            public TitleViewModel ViewModel { get { return this.DataContext as TitleViewModel; } set { this.DataContext = value; } }
        }

    如果在module中采用如下方式调用 var titleview = ServiceLocator.Current.GetInstance<TitleView>(); 不会有错误.

    而如果把上面的[Export]改为[Export("TitleView")] 则会引发异常

    Activation error occured while trying to get instance of type TitleView, key ""

    解决办法是将调用的方法更改为

    var titleview = ServiceLocator.Current.GetInstance(typeof(TitleView), "TitleView");

    同样我们在使用RegisterViewWithRegion注册View时如果也发生类似错误也可用此法解决,对应调用方法如下:

    this.regionManager.RegisterViewWithRegion(RegionNames.MainTitleRegion, () => { return ServiceLocator.Current.GetInstance(typeof(TitleView), "TitleView"); });

  • 相关阅读:
    Docker 安装 Logstash
    Docker 安装 Kibana
    go命令行参数
    小程序 表单提交
    小程序picker日历
    小程序,验证码倒计时效果
    flex图片垂直居中
    小程序单选框样式
    wechat-wxparse 使用
    小程序Banner跳转
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/4982938.html
Copyright © 2011-2022 走看看