我正在开发一个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}"/>发布于 2013-03-07 11:13:46
您可以将框架字段作为Execute参数传递。例如。
<Button Command="{Binding CommandName,CommandParameter={Binding ElementName=Frame}}"/>之后,您只需将parameter转换为Frame,并按您的意愿使用它。
发布于 2014-01-17 13:34:34
我会打电话给
((Frame)Window.Current.Content).Navigate(typeof(VehicleItemDetailPage),0);
而不是this.Frame和从XAML中传递不需要的任何参数。因为框架是静态的。因此,您不需要当前启动的代码视图的实例。
https://stackoverflow.com/questions/15269489
复制相似问题