【问题标题】:How to bind view to viewmodel instantiated with parameters?如何将视图绑定到使用参数实例化的视图模型?
【发布时间】:2018-07-19 09:28:34
【问题描述】:

在我的项目中,我需要做这样的事情:

var viewModel = new MyViewModel(parameters);
var view = new MyView();
// bind view to viewModel
view.Show();

MyView 继承 Window

设计意味着MyView 不应该知道parameters 而只是代表 MyViewModel 的属性。

我应该如何实现这个绑定?

我得到了一个建议,我可以使用 ReactiveUI 中的IViewFor 接口,但我找不到任何关于如何实现此解决方案的示例。

【问题讨论】:

  • 视图绑定到其DataContext 的属性。您需要将视图的DataContext 属性设置为您的视图模型,但应在视图本身中设置与视图模型属性的绑定。

标签: wpf mvvm binding


【解决方案1】:

一个视图的绑定根是它的DataContext,所以你需要给它分配viewModel

var viewModel = new MyViewModel(parameters);
var view = new MyView();
view.DataContext = viewModel;
view.Show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多