2015-12-28 110 views
1

在WPF aplication,使用與MVVM光命令我用這個:如何在WP8.1中使用MVVM Light中的事件觸發器?

xmlns:j="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 


<j:Interaction.Triggers> 
     <j:EventTrigger EventName="PreviewKeyDown"> 
      <cmd:EventToCommand Command="{Binding SomeCommand}"> 
      </cmd:EventToCommand> 
     </j:EventTrigger> 
</j:Interaction.Triggers> 

但在WP8.1我不能使用iteractivity,所以我不知道如何使用觸發器和EventToCommand 。

謝謝。

回答

2

是這樣的嗎?

xmlns:Interactivity="using:Microsoft.Xaml.Interactivity" xmlns:Core="using:Microsoft.Xaml.Interactions.Core" 

<Interactivity:Interaction.Behaviors> 
    <Core:EventTriggerBehavior EventName="PreviewKeyDown"> 
     <Core:InvokeCommandAction Command="{Binding SomeCommand}"/> 
    </Core:EventTriggerBehavior> 
</Interactivity:Interaction.Behaviors> 

希望這會有所幫助。

+0

是的,但這種方式的問題是,在WPF MVVM Light允許傳遞原始事件參數,但這樣我認爲這是不可能的。通過這種方式,我可以在我的viewModel中獲得原始事件參數? –

+1

@ÁlvaroGarcía我不確定你在用什麼,所以它很難回答。但是,如果你綁定到任何屬性並設置了「Mode = TwoWay」,那麼你的視圖模型應該相應地更新。如果你的視圖中不支持綁定屬性,你可以創建一個'Converter'來轉換視圖和視圖模型之間的數據。 – Barnstokkr

+1

同類問題http://stackoverflow.com/a/29410912/1876572 – Eldho

相關問題