首页 >后端开发 >C++ >如何将 WPF ListBox SelectionChanged 事件绑定到 ViewModel 命令?

如何将 WPF ListBox SelectionChanged 事件绑定到 ViewModel 命令?

Linda Hamilton
Linda Hamilton原创
2025-01-12 22:21:44166浏览

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