Как вызвать функции в модели основного вида из других моделей представления?
Моя программа состоит изTreeView
и дваcontentPresenters
на уровне земли. Главное окно,TreeView
и каждыйcontentPresenter
у всех есть свои собственные модели представления.
Я хотел бы вызвать функцию вmainWindowViewModel
изTreeViewViewModel
.
Мне нужно сделать это, потому чтоmainWindowViewModel
контролирует то, что отображается вcontentPresenters
, и я хотел бы вручную обновить дисплей.
Я думаю, я бы сделал что-то вроде этого ...
TreeViewViewModel
:
public class TreeViewViewModel
{
//Do I need to declare the MainWindowVM?
public TreeViewViewModel() { ... }
private void function()
{
//Command that affects display
//Manually call function in MainWindowVM to refresh View
}
}
Я пытался получить доступ кMainWindowVM
изTreeViewViewModel
используя:
public MainWindowViewModel ViewModel { get { return DataContext as MainWindowViewModel; } }
Но это не имеет особого смысла. потому что MWVM это неDataContext
изTreeViewViewModel
.