1

在我的 Windows Phone 应用程序中,我有以下场景:

  1. 我有两个 ListBox'es fe lbx1 和 lbx2
  2. ViewModel 将数据加载到 lbx1
  3. 用户点击 ListBox,命令被触发,ViewModel 将 lbx1 的可见性设置为折叠,将 lbx2 设置为 visilbe。

现在我想做以下事情:当 lbx2 可见时,我想拦截 My ViewModel 中的 OnBackKeyPress 事件,以便我可以将 lbx1 的可见性更改为可见,并将 lbx2 的可见性更改为折叠。

甚至可以使用 mvvm.light 吗?

4

1 回答 1

2

好的,找到了我的答案:在 page.xaml 中插入:

<i:Interaction.Triggers>
    <i:EventTrigger
        EventName="BackKeyPress">
        <GalaSoft_MvvmLight_Command:EventToCommand
            Command="{Binding BackKeyPressCommand}"
            PassEventArgsToCommand="True"
            />
    </i:EventTrigger>
</i:Interaction.Triggers>

Command 是我的 ViewModel 命令,并且 PassEventArgsToCommand="True" 使我能够在触发事件时取消事件

于 2012-06-26T22:40:29.863 回答