我们在运行时将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.
} );
答案 0 :(得分:0)
您可以将DataContext强制转换为ViewModel的类型,然后以这种方式访问属性。
tc.SomeProperty = ((MyViewModel)DataContext).SomeVMProperty;