首頁 >後端開發 >C++ >如何將 WPF ListBox SelectionChanged 事件綁定到 ViewModel 指令?

如何將 WPF ListBox SelectionChanged 事件綁定到 ViewModel 指令?

Linda Hamilton
Linda Hamilton原創
2025-01-12 22:21:44228瀏覽

How to Bind WPF ListBox SelectionChanged Events to ViewModel Commands?

在WPF ViewModel中綁定UI事件到指令

遵循MVVM架構,將UI事件移至ViewModel更有利於程式碼維護與擴充。本文將重點放在說明如何將ListBox的SelectionChanged事件從程式碼隱藏檔案轉移到ViewModel中,並以提供的程式碼片段為例進行說明。

解法

為此,我們需要結合使用EventTriggerInvokeCommandAction (位於System.Windows.Interactivity命名空間):

<code class="language-xml"><ListBox ...>
  <i:Interaction.Triggers>
    <i:EventTrigger EventName="SelectionChanged">
      <i:InvokeCommandAction Command="{Binding SelectedItemChangedCommand}" />
    </i:EventTrigger>
  </i:Interaction.Triggers>
</ListBox></code>

引用System.Windows.Interactivity

  • 透過「新增引用」>「程式集」>「擴充」新增對程式集的引用。
  • 使用完整命名空間:xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

附加說明

  • Command屬性綁定到ViewModel中定義的指令。
  • 此模式簡化了UI事件處理,並增強了關注點分離。
  • 請務必按照指示引用System.Windows.Interactivity命名空間,以確保成功實現。

以上是如何將 WPF ListBox SelectionChanged 事件綁定到 ViewModel 指令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn