我有一个用户控件,它在许多.xaml文件之间共享,这些文件是用户控件本身。在共享用户控件中,我有以下代码:
<controls:MyButton x:Name="Back" Tag="/Resources/Back.png" Content="Back" Command="{Binding Path=NavigateToPrevious}"/>
MyButton是一个按钮。
代码工作正常,它将我重定向到我之前的上一页。
但是,我的应用程序中有一些页面需要参数才能显示。例如,我在页面上的人员,我转到约翰,单击返回(页面打开),再次单击返回(约翰应该打开)。 “人员”页面列出了我数据库中的所有人员,它不需要输入参数。但是Person页面需要知道我是否要显示John或Jack。另外,它不仅仅是需要输入参数的人物页面。
如何通过MyButton发送参数? MyButton位于共享用户控件中。所需参数位于视图模型中。
答案 0 :(得分:1)
我认为这不应该由按钮本身处理,你应该跟踪导航,存储一堆视图模型实例,每次单击后面弹出一个并在视图中显示它。完整状态(包括参数)应该封装在堆栈的实例中。
(我也不认为在用户页面上两次“回”'会让你落在同一页面上,相反你应该点击'返回'然后'前进'来实现这一点,所以你的历史应该保持两个堆栈之间的导航)
答案 1 :(得分:1)
如果将参数发送到命令将解决您的问题,请尝试使用CommandParameter
。这会将参数发送到命令。
看看answer,它解释了如何使用CommandParameter
;这可能有所帮助。