Я новичок в WPF и MVVM.У меня есть Frame в mainWindowView в моем приложении WPF.Я связал источник фрейма со свойством SourcePage модели представления:
<Frame Name="frame" Content="Frame" Source="{Binding Path=SourcePage, Source={StaticResource WindowViewModel}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
В модели представления,
public string SourcePage
{
get
{
return _sourcePage;
}
set
{
if (value != null)
{
_sourcePage = value;
OnPropertyChanged("SourcePage");
}
}
}
Первоначально я загрузил представление selectTest в этом кадре, установив значение на исходной странице вконструктор viewmodel:
public MainWindowViewModel()
{
SourcePage ="Std.User/SelectTest.xaml";
}
Теперь по нажатию кнопки мне нужно выполнить некоторые операции с БД, и после этого я хочу загрузить другое представление в этом кадре.
Привет, Колин, спасибо за твою помощьнемедленный ответ.Но я попробовал то же самое, и это не работает, как ожидалось.Вот мой код
public ICommand StartTestCommand
{
get
{
if (_startTest == null)
{
_startTest = new DelegateCommand(StartTest);
}
return _startTest;
}
}
private void StartTest()
{
MainWindowViewModel mwvm = new MainWindowViewModel();
mwvm.SourcePage = "std.user/ChangePassword2.xaml";
}