Использую WPF и паттерн MVVM. Хочу передать из одной viewmodel в другую значения(допустим текст). Подключаю DataContext в разметке xaml в обеих viewmodel
<Window.DataContext>
<vm:MWVM/>
</Window.DataContext>
<Page.DataContext>
<vm:W1VM/>
</Page.DataContext>
Пробовал разные варианты, значение передается. И через перегрузку конструктора, и через доп методы класса, и через инициализатор.
private RelayCommand _pageWindow1;
public RelayCommand PageWindow1
{
get
{
return _pageWindow1 ??
(_pageWindow1 = new RelayCommand(obj =>
{
var vm = new W1VM("asdasdas")
{
Page1 = new Page1(),
//Text = "Hello"
};
SlowOpacoty(vm.Page1);
//vm.Send();
}));
}
}
Но когда я нажимаю на кнопку во второй viewmodel, в переменной text почему-то всегда оказывается NULL.
private RelayCommand _tCommand;
public RelayCommand TCommand
{
get
{
return _tCommand ??
(_tCommand = new RelayCommand(obj =>
{
MessageBox.Show(text);
}));
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей