c# – 确定文本框在丢失的焦点事件中的先前值? WPF

我有一个文本框,并有一个onlostfocus事件.

在lostfocus方法中,有没有办法可以确定用户是否实际更改了其中的值?
即我如何掌握其中的任何先前价值?

谢谢

解决方法

我想到的是一个两阶段的方法.处理文本框上的TextChanged事件并标记它.然后,当文本框OnLostFocus发生时,您只需检查您的标志以查看文本是否已更改.

以下是有关如何处理跟踪的代码段.

public class MyView
{
    private bool _textChanged = false;
    private String _oldValue = String.Empty;

    TextChanged( ... )
    {
        // The user modifed the text,set our flag
        _textChanged = true;        
    } 

    OnLostFocus( ... )
    {
        // Has the text changed?
        if( _textChanged )
        {
            // Do work with _oldValue and the 
            // current value of the textBox          

            // Finished work save the new value as old
            _oldValue = myTextBox.Text;

            // Reset changed flag
            _textChanged = false;
        }              
    }
}

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...