防止在Caliburn Micro中导航回来

时间:2014-01-20 10:53:33

标签: c# mvvm windows-phone-8 windows-phone caliburn.micro

我有一个继承自Screen的Caliburn Micro ViewModel。 OnDeactivate应与View中的OnNavigateFrom“等效”。

我想在某些情况下阻止使用后退按钮导航回来。基本上我想要做的就是在OnBackKeyPress中设置Cancel = true,但我想在View Model中进行。

OnDeactivate有一个布尔关闭参数,但当我将其设置为false时,没有任何变化。

1 个答案:

答案 0 :(得分:1)

我认为你可以这样做:

<Interactivity:Interaction.Triggers>
    <Interactivity:EventTrigger
        EventName="BackKeyPress">
        <Command:EventToCommand
            Command="{Binding BackKeyPressCommand}" />
    </Interactivity:EventTrigger>
</Interactivity:Interaction.Triggers>

在caliburn micro中我认为:

cal:Message.Attach="[Event BackKeyPress]

但我不知道代码语法对不起。 对于取消癌症,请不要忘记写PassEventArgsToCommand="True"