Windows ストア アプリのバインド コマンドとフレーム ナビゲーションについて少し混乱しています。Windows ストアの Grid App (XAML) テンプレートを使用してプロジェクトを開始し、次のように appbar を追加しました。
<AppBar IsSticky="True" IsOpen="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel x:Name="LeftPanel" Orientation="Horizontal">
</StackPanel>
<StackPanel x:Name="RightPanel" Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal">
<Button HorizontalAlignment="Stretch" Style="{StaticResource SaveAppBarButtonStyle}" Command="{Binding Item.UpdateItem}" />
</StackPanel>
</Grid>
</AppBar>
次に、クラスにプロパティを作成し、次のようなメソッドを作成しました。
public ICommand UpdateItem
{
get { return new UpdateItemCommand(this); }
}
void Save()
{
SampleDataSource.UpdateGroup(this);
SampleDataSource.SaveFileAsync();
}
これまでのところ、すべて問題なく、グループが更新され、ファイルも保存されました。UpdateItemCommand クラスの私の実装は次のとおりです。
class UpdateItemCommand : ICommand
{
public UpdateItemCommand(SampleDataItem viewModel)
{
this.viewModel = viewModel;
}
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
this.viewModel.Save();
if (CanExecuteChanged != null)
{
CanExecuteChanged(this, EventArgs.Empty);
}
}
public SampleDataItem viewModel { get; private set; }
}
ここで、SampleDataSource.SaveFileAsync() メソッドの実行の最後にメイン フレーム (GroupedItemsPage.xaml) に戻り、正常に保存されたファイルの MessageDialog を表示する方法 (正しい方法) を見つけたいと思います。よくわからない場合はお知らせください。