У меня есть View Model
, который управляет Tree View
. Также в моем графическом интерфейсе находится Tab Control
, который не контролируется View Model
. Если я хочу использовать Tree View
для доступа к элементам Tab Control
, как бы я дал свой View Model
доступ к нему (Tab Control
)?Получение доступа к элементу управления Tab в классе модели модели
Я предполагаю, что это будет что-то вроде того, как я передаю выбранный элемент из Tree View
от кода до View Model
.
Code-Behind:
//Gets selected item in TreeView
private void Tree_One_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
MainWindowViewModel.SelectedItem = e.NewValue as TreeViewItem;
}
View Model
:
public static TreeViewItem SelectedItem { get; set; } //Selected Node\
Моя текущая попытка
Code-Behind:
MainWindowViewModel.middleControl = tabControl1 as TabControl;
View Model
:
public static TabControl middleControl { get; set; }
Следующая не работает, потому что View Model
до сих пор не видит какой-либо из элементов внутри Tab Control
if (parent_Node.Items.Contains(SelectedItem))
middleControl.SelectedIndex = nameOfTabItem;
Параметр 'Вкладка control' не управляется' зрения model', потому что я использовал окно конструктора для создания и место на нем предметы , Я думаю, было бы намного сложнее создать такой подробный «tab control» с моделью. –
@EricAfterDark См. [Мой ответ] (http://stackoverflow.com/a/17954320/643085) о том, как работать с TabControl в MVVM. –
@Ericafterdark. С помощью MVVM с помощью MVCM более сложно использовать элемент управления вкладками, чем управление деревом или списком, но это можно сделать. Ответ HighCore описывает процесс довольно хорошо. – Andy