繁体   English   中英

UWP Prism UWP视图模型

[英]UWP Prism UWP Viewmodel

我一直在使用Prism的Viewmodel定位器通过棱镜命名约定实例化我的视图模型。由于使用了自己的ViewModel创建了一个用户控件,并使用Prism Event Aggregator与其他视图模型进行了通信,因此我一直不满意,但是效果很好,但是我想要创建此用户控件的其他实例。 使用事件聚合器,用户控件的所有实例显然都在订阅已发布的事件,因此:

  1. 如何区分要定位的实际用户控件。
  2. 如何在不使用ViewModel定位器的情况下实例化ViewModel并以View数据上下文为目标?

我要做的是在用户控件中创建一个名为vmType的依赖项属性。

    public string vmType
    {
        get { return (string)GetValue(vmTypeProperty); }
        set { SetValue(vmTypeProperty, value); viewModel.vmType = vmType; }
    }

    // Using a DependencyProperty as the backing store for vmType.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty vmTypeProperty =
        DependencyProperty.Register("vmType", typeof(string), typeof(UserControl), new PropertyMetadata(null));

在集合中,我将关联的viewmodel属性vmType标记为应该用于用户控件的内容。 在父视图的XAM1中,只需将vmType设置为所需的值即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM