【WPF MVVM SelectionChanged】

这篇具有很好参考价值的文章主要介绍了【WPF MVVM SelectionChanged】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先说明一下

关于combox 的 selectionChanged 在MVVM 中的使用 ,在网上找了很长时间,很多都是很早以前的方法。但是本人还是在 工控匠 的博文中看到 已替换的方法 如下
由于最新的更新 vs2019/vs2022中已经不支持 System.Windows.Interactivity 并且已经不在维护所以建议使用 Microsoft.Xaml.Behaviors.Wpf 替代。

开始吧

第一步:

安装package从nuget:Microsoft.Xaml.Behaviors.Wpf
第二步:
在View上添加引用:
如下:

xmlns:i="http://schemas.microsoft.com/xaml/behaviors"

第三步:
在Combox上使用代码:
如下:

<ComboBox x:Name="CbxXXX" Width="80" Height="30" Margin="0,1.5">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectionChanged">
                    <i:InvokeCommandAction Command="{Binding SelectItemChangedCommand}"/>
                </i:EventTrigger>
            </i:Interaction.Triggers>
            <ComboBoxItem Content="All"/>
            <ComboBoxItem Content="First"/>
            <ComboBoxItem Content="Last"/>
        </ComboBox>

第四步:
在ViewModel 界面定义ICommand命令
代码如下

using System.Windows;
using System.Windows.Input;

namespace MVVMXXX
{
    public class MainWindowViewModel
    {
        public ICommand SelectItemChangedCommand { get; set; }

        public MainWindowViewModel()
        {
            SelectItemChangedCommand = new ActionCommand(this.NotifySelectedItemChanged);
        }

        private void NotifySelectedItemChanged()
        {
            MessageBox.Show("Sucess");
        }
    }
}

到此 当前版本内 combox 的 selectionChanged 在MVVM 中的使用已经基本完成。如有后续更新请@本人更改,如有疑问也请@本人。希望对大家有所帮助。
工控匠博文地址文章来源地址https://www.toymoban.com/news/detail-550202.html

到了这里,关于【WPF MVVM SelectionChanged】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WPF——事件绑定命令

    我们都知道WPF中的命令在结合MVVM模式的框架使用之后(框架重新实现了ICommand),可以解耦。但并不是所有控件都可以绑定命令的,比如TextBox、ComboBox等。在使用这类控件时,如果你想让它的某个事件激发时调用ViewModel中的方法,往往需要把ViewModel中的方法暴露给View,然后在

    2024年02月05日
    浏览(53)
  • WPF事件绑定到Command命令

    第一步: 第二步: 第三步: 如果有问题请及时留言,仅供学习~谢谢.

    2024年02月15日
    浏览(33)
  • WPF中TextBox使用KeyBinding绑定命令,键盘事件

        最近在做一个扫码枪识别条形码的功能,TextBox文本按回车键或者是扫码枪识别条形码自动触发查询功能,由于架构采用的是MVVM的开发模式,所以,刚开始采用KeyBinding的方式绑定命令,然后实现该功能;代码如下: 对应的ViewModel中绑定命令事件,代码如下所示     初步

    2024年02月14日
    浏览(40)
  • 关于WPF中Command绑定传参数以及将命令绑定到其它事件的方法

    前言:在WPF中,将命令绑定到一个Button的Command属性中是非常简单的事情,例如: 但是很多时候,我们要实现其它事件的命令绑定,以此实现彻底的MVVM开发模式,那就得用到微软另外一个神器了!它就是程序集System.Windows.Interactivity,在网上可以下载System.Windows.Interactivity.dll这

    2024年02月11日
    浏览(28)
  • WPF控件:密码框绑定MVVM

    以下是一种使用 MVVM 模式的方法: 首先,在 ViewModel 中添加一个属性来保存密码,我们可以使用 SecureString 类型。   创建一个附加属性来处理 PasswordBox 的密码变化,并将其绑定到 ViewModel 中的命令。   在 XAML 中,使用行为触发器来触发命令。 查看密码框的内容。      

    2024年04月24日
    浏览(24)
  • MVVM架构下wpf的密码框绑定

    背景:TextBox可以很轻松地对Text使用Binding,绑定ViewModel类里面的属性         即:Text=\\\"{Binding LoginId}\\\"/         但是使用PasswordBox的密码框就不行了,因为没有Text这个属性 那么就要自己实现一个PasswordBox的帮助类了 第一步添加Helper类 第二步:到xaml中使用帮助类添加PasswordB

    2024年02月09日
    浏览(27)
  • 【.NET6+WPF】WPF使用prism框架+Unity IOC容器实现MVVM双向绑定和依赖注入

    前言:在C/S架构上,WPF无疑已经是“桌面一霸”了。在.NET生态环境中,很多小伙伴还在使用Winform开发C/S架构的桌面应用。但是WPF也有很多年的历史了,并且基于MVVM的开发模式,受到了很多开发者的喜爱。 并且随着工业化的进展,以及几年前微软对.NET平台的开源,国内大多

    2024年02月06日
    浏览(46)
  • 工控视觉项目桌面端WPF源码,UI源码,已实现前后端MVVM数据绑定

    工控视觉项目桌面端WPF源码,UI源码,已实现前后端MVVM数据绑定。 除了两个柱状图用的第三方开源控件,其他都是原生自己写的,非常适合初学者熟悉语法、事件、触发器、MVVM 机制、布局容器,方便二次开发和修改 工控视觉项目桌面端WPF源码,UI源码,已实现前后端MVVM数据

    2024年02月20日
    浏览(35)
  • WPF 绑定binding都有哪些事件

    主要包含以下几个事件: 1. UpdateSourceTrigger:用于控制数据绑定如何更新源数据的事件 PropertyChanged:每当目标属性的值更改时,将立即更新源属性。 LostFocus:当目标元素失去焦点时,更新源属性。 Explicit:只有在调用BindingExpression.UpdateSource方法时才会更新源属性。 Default:与

    2024年02月05日
    浏览(42)
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(11) -- 下拉列表的数据绑定以及自定义系统字典列表控件

    在我们开发的前端项目中,往往为了方便,都需对一些控件进行自定义的处理,以便实现快速的数据绑定以及便捷的使用,本篇随笔介绍通过抽取常见字典列表,实现通用的字典类型绑定;以及通过自定义控件的属性处理,实现系统字典内容的快捷绑定的操作。 在我们创建下

    2024年02月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包