首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带导航的ICommand

带导航的ICommand
EN

Stack Overflow用户
提问于 2013-03-07 11:04:52
回答 2查看 1.1K关注 0票数 0

我正在开发一个WinRT应用程序,我正在尝试使用一个按钮命令。

代码语言:javascript
复制
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()方法之后,我想移到详细信息页面。在单击事件中,我得到了如下内容:

代码语言:javascript
复制
 this.Frame.Navigate(typeof(VehicleItemDetailPage), 0);

但是,当我将它添加到命令中时,会发现错误,即它不知道Frame是什么。

如何在执行命令后导航到详细信息页?

更新的XAML代码:

代码语言:javascript
复制
<Button x:Name="addButton" Style="{StaticResource AddAppBarButtonStyle}" Command="{Binding AddCommand}" CommandParameter="{Binding ElementName=Frame}"/>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-07 11:13:46

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

代码语言:javascript
复制
<Button Command="{Binding CommandName,CommandParameter={Binding ElementName=Frame}}"/>

之后,您只需将parameter转换为Frame,并按您的意愿使用它。

票数 1
EN

Stack Overflow用户

发布于 2014-01-17 13:34:34

我会打电话给

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

而不是this.Frame和从XAML中传递不需要的任何参数。因为框架是静态的。因此,您不需要当前启动的代码视图的实例。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15269489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档