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 传递您不需要的任何参数的事物。因为框架是静态的。所以你不需要当前启动的代码视图的实例。

于 2014-01-17T13:34:34.383 回答
1

您可以将 Frame 字段作为Execute参数传递。例如

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

之后,您只需投射并根据parameter需要Frame使用它。

于 2013-03-07T11:13:46.440 回答