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

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

Linda Hamilton
发布: 2025-01-12 22:21:44
原创
164 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板