【问题标题】:Pass ViewModel to User Control Constructor from XAML [duplicate]从 XAML 将 ViewModel 传递给用户控件构造函数 [重复]
【发布时间】:2015-06-21 13:15:40
【问题描述】:

在我的 MVVM 应用程序中,我试图创建一个在多个应用程序之间共享的可重用用户控件,这是构造函数

public MyUserControl(IMyViewModel viewModel)
{
    InitializeComponent();
    DataContext = viewModel;
}

所以我的计划是每个应用程序只将它自己的视图模型提供给共享视图。

现在的问题是如何将视图模型对象从 XAML 代码传递给构造函数:

<my:MyUserControl "somehow pass a viewmodel object from here">

谢谢

【问题讨论】:

    标签: c# .net wpf mvvm dependency-injection


    【解决方案1】:

    你不能,你需要一个无参数的构造函数。你能做的最好的就是直接绑定:

    <my:MyUserControl DataContext="{Binding Path.To.ViewModel}">
    

    实际上,我并不完全正确。在 WPF 4 中,您可以使用 arguments directive。但我真的不会,这不是真正地道的 WPF。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-22
      相关资源
      最近更新 更多