0

私は WinRT アプリに取り組んでおり、ボタンにコマンドを使用しようとしています。

public class addCommand : ICommand
{
    private async Task AddNewVehicle()
    {
        vvm VM = new vvm();
        await VM.AddNewVehicleInfo();
    }

public bool CanExecute(object parameter)
{
    return true;
}

public event EventHandler CanExecuteChanged;

public void Execute(object parameter)
{
    AddNewVehicle();

}

}

AddNewVehicle() メソッドが呼び出されて完了したら、詳細ページに移動したいと考えています。クリックイベントでは、次のようなものがありました:

 this.Frame.Navigate(typeof(VehicleItemDetailPage), 0);

ただし、それをコマンドに追加すると、何がわからないというエラーが発生しますFrame

コマンドの実行後に詳細ページに移動するにはどうすればよいですか?

更新された XAML コード:

<Button x:Name="addButton" Style="{StaticResource AddAppBarButtonStyle}" Command="{Binding AddCommand}" CommandParameter="{Binding ElementName=Frame}"/>
4

2 に答える 2

3

私はただ電話するだろう

((Frame)Window.Current.Content).Navigate(typeof(VehicleItemDetailPage), 0);

代わりにthis.Frame、必要のない XAML からパラメーターを渡す Thing を使用します。フレームは静的であるためです。そのため、現在開始されている View in Code のインスタンスは必要ありません。

于 2014-01-17T13:34:34.383 に答える
1

Frame フィールドをExecuteパラメーターとして渡すことができます。例えば

<Button Command="{Binding CommandName,CommandParameter={Binding ElementName=Frame}}"/>

その後、キャストparameterFrameて、必要に応じて使用します。

于 2013-03-07T11:13:46.440 に答える