元素命令中的参数

时间:2014-07-09 13:22:01

标签: wpf command

我有一个用户控件,它在许多.xaml文件之间共享,这些文件是用户控件本身。在共享用户控件中,我有以下代码:

<controls:MyButton x:Name="Back" Tag="/Resources/Back.png" Content="Back" Command="{Binding Path=NavigateToPrevious}"/>

MyButton是一个按钮。

代码工作正常,它将我重定向到我之前的上一页。

但是,我的应用程序中有一些页面需要参数才能显示。例如,我在页面上的人员,我转到约翰,单击返回(页面打开),再次单击返回(约翰应该打开)。 “人员”页面列出了我数据库中的所有人员,它不需要输入参数。但是Person页面需要​​知道我是否要显示John或Jack。另外,它不仅仅是需要输入参数的人物页面。

如何通过MyButton发送参数? MyButton位于共享用户控件中。所需参数位于视图模型中。

2 个答案:

答案 0 :(得分:1)

我认为这不应该由按钮本身处理,你应该跟踪导航,存储一堆视图模型实例,每次单击后面弹出一个并在视图中显示它。完整状态(包括参数)应该封装在堆栈的实例中。

(我也不认为在用户页面上两次“回”'会让你落在同一页面上,相反你应该点击'返回'然后'前进'来实现这一点,所以你的历史应该保持两个堆栈之间的导航)

答案 1 :(得分:1)

如果将参数发送到命令将解决您的问题,请尝试使用CommandParameter。这会将参数发送到命令。 看看answer,它解释了如何使用CommandParameter;这可能有所帮助。