You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MAUI MVVM中获取TextChangedEventArgs?

在MVVM模式中获取TextChangedEventArgs的实现方法

要通过EventToCommandBehavior在MVVM模式下获取TextChangedEventArgs,只需给行为添加参数传递配置,再在ViewModel中接收对应参数即可,具体步骤如下:

1. 修改XAML配置

在EventToCommandBehavior中添加PassEventArgsToCommand="True",让事件触发时自动将TextChangedEventArgs传递给绑定的命令:

<Entry Text="{Binding Text}">
    <Entry.Behaviors>
        <behaviors:EventToCommandBehavior EventName="TextChanged"
                          Command="{Binding TextChangedCommand}"
                          PassEventArgsToCommand="True"/>
    </Entry.Behaviors>
</Entry>

2. ViewModel中定义命令

在ViewModel里定义可接收TextChangedEventArgs参数的命令,以常用的RelayCommand为例(也可基于ICommand自定义实现带参数的命令):

using Microsoft.Maui.Controls;
using MvvmHelpers;

public class YourViewModel : BaseViewModel
{
    public ICommand TextChangedCommand { get; }

    public YourViewModel()
    {
        TextChangedCommand = new RelayCommand<TextChangedEventArgs>(OnTextChanged);
    }

    private void OnTextChanged(TextChangedEventArgs args)
    {
        // 获取文本变化前后的内容
        string oldText = args.OldTextValue;
        string newText = args.NewTextValue;
        // 在此编写业务逻辑
    }
}

关于TextChangedEventArgs的说明

TextChangedEventArgs是MAUI中文本变化事件的参数类,包含两个核心属性:

  • OldTextValue:获取文本修改前的内容
  • NewTextValue:获取文本修改后的内容

你可以在命令处理方法中通过这两个属性获取文本变化的详细信息,进而实现对应的业务逻辑。

内容的提问来源于stack exchange,提问作者JBD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:49:52