MVVM绑定 - 在View中创建控件,如何绑定到ViewModel中的属性?

时间:2011-07-01 15:27:30

标签: mvvm binding

我们在运行时将tabcontrols添加到我们的应用程序中。每个tabcontrol都被赋予一个ViewModel作为DataContext。我们通过向主应用View发送消息来添加tabcontrols;该消息包含要用作datacontext的ViewModel。

在主应用程序ViewModel中,我们通过向主应用程序视图发送消息来创建TabItem并将其添加到指定的TabControl,从而将tabitems添加到选项卡控件。

我想将TabItem的某些属性绑定到TabControl的ViewModel的某些属性;当然,这需要以程序化的方式完成。

由于tabcontrol和tabitem不了解ViewModels(仅限DataContext),如何指定ViewModel的属性以绑定tabitem属性呢?

感谢您的任何建议......

    Messenger.Default.Register<AddTabControlMessage>(this, m =>  
    {
     TabControl tc = new TabControl();
     tc.DataContext = m.ViewModel;
     // etc.
    } );

1 个答案:

答案 0 :(得分:0)

您可以将DataContext强制转换为ViewModel的类型,然后以这种方式访问​​属性。

tc.SomeProperty = ((MyViewModel)DataContext).SomeVMProperty;
相关问题