我將盡我所能詳細解釋問題。使用新的用戶控制窗口MVVM更新詳細信息窗格WPF
我正在使用WPF,MVVM和PRISM。下面是應用程序的結構:
CONTAINER
User control containing a toolbar
---------- LEFT PANE USER CONTROL
right pane
user control
----------
---------------------------------------------------------------
容器是殼牌,其主機的應用程序的外觀。 Shell還包含許多不同的用戶控件,如用戶用戶控件,角色用戶控件,類別用戶控件。所有控件都已摺疊。
工具欄上有諸如保存,編輯,刪除等選項。當用戶選擇工具欄上的編輯選項,然後我使用WPF命令來調用我的視圖模型編輯方法,如下所示:
private void Edit(UserViewModel userViewModel)
{
// load the edit page
}
的toolbar.Datacontext被動態設置爲用戶控制的,其的DataContext是一個視圖模型。因此,可以在不同的上下文中使用相同的工具欄來在不同的視圖模型上調用命令。
在這一點上,我已經得到了在Edit方法中傳遞的正確的UserViewModel。這很好!但現在!我需要更新詳細信息窗格以反映EditView。我怎樣才能做到這一點?所有的控件都被嵌入在Shell.xaml文件中。此外,ViewModel在單獨的程序集中,而Shell在單獨的程序集中。
這是我需要幫助的地方!怎麼可能不知道殼牌的viewModel(殼牌引用ViewModel程序集而不是其他方式)可以將EditView注入Shell詳細信息窗格。
你如何將你的觀點注入細節面板?通過數據模板,通過區域管理器,還是直接設置爲詳細信息面板的內容?如果你可以發佈一個基本的容器xaml的讚賞。 – pushpraj