4
WPFおよびMVVMを初めて使用しています。私はWPFアプリケーションでmainWindowViewのFrameを持っています。私は、ビューモデルのSourcePageプロパティにフレームのソースをバインドしていますWPFビューモデルを使用してソースを変更してフレーム内ナビゲーションを行う
<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");
}
}
}
を当初、私はviewmodelのコンストラクタでsourcepage値を設定することで、そのフレームにselectTestビューをロードしています
public MainWindowViewModel()
{
SourcePage ="Std.User/SelectTest.xaml";
}
ボタンのクリックで、DB操作を実行する必要があり、その後、そのフレームに別のビューをロードしたいとします。
こんにちはコリン、すぐにお返事ありがとうございます。しかし、私は同じことを試して、それが期待どおりに動作していません。ここに私のコードは、これを実現するために
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";
}