1
我們在運行時將tabcontrols添加到我們的應用程序中。每個tabcontrol都被賦予一個ViewModel作爲DataContext。我們通過向主應用程序View發送消息來添加tabcontrols;該消息包含要用作datacontext的ViewModel。MVVM Binding - 在View中創建控件,如何綁定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.
});
這看起來不對 - 應該視圖有這種耦合到虛擬機?感謝您的回覆.... – Number8
通常,這可以通過在XAML中設置property = {Binding VMProperty}來完成,但由於您在此創建視圖,因此我不相信這是一個選項。理想情況下,您將使用像Unity這樣的容器將TabControl添加到Shell。 – NickHeidke