2015-04-02 59 views
0

我有一個複選框的數據綁定到我的視圖模型中稱爲「ViewType」的布爾屬性。如果「ViewType」爲true,則選中該複選框,否則不是。是否可以從ViewModel激發複選框命令?

事情是,複選框需要從視圖模型開啓和關閉,而不是鼠標點擊來啓動命令。

上述複選框:

<CheckBox x:Name="ViewTypeCheckbox" IsChecked="{Binding ViewType, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Command="NavigationCommands.GoToPage" CommandParameter="/views/membership.xaml"/> 

不幸的是,命令只通過鼠標點擊火災。我不完全確定如何使用樣式觸發器或數據觸發器來完成這項工作。我最近嘗試的存在:

<CheckBox x:Name="ViewTypeCHeckbox"> 
     <DataTrigger Binding="{Binding ElementName=ViewTypeCHeckbox, Path=IsChecked}" Value="True"> 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="Button.Click"> 
        <i:InvokeCommandAction Command="NavigationCommands.GoToPage" CommandParameter="Views/membership.xaml" /> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
     </DataTrigger> 
    </CheckBox> 

但是,這也不行...... 是否有任何改變,我可以做出可能引發的命令?

+1

你可以發表ViewModel代碼 – CarbineCoder 2015-04-02 10:21:40

+0

不明白你的問題,你可以將屬性'ViewType'設置爲'true'或'false',它會反映在你的視圖上。 – Bolu 2015-04-02 10:28:40

+0

您可以將IsChecked屬性綁定到ViewModel的bool屬性。並在ViewModel的bool屬性的屬性更改事件中,您可以導航到下一頁(GoToPage命令) – Karuppasamy 2015-04-02 10:47:23

回答

0

由於您使用的是RoutedCommand,因此您已經不在純ViewModel領域,所以沒有理由不要僅僅掛接Checked/Unchecked的事件處理程序(當綁定發生更改時會觸發)並從那裏執行命令。

相關問題