Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf清除禁用的文本框。出现验证错误时的文本_Wpf_Mvvm_Validationerror - Fatal编程技术网

Wpf清除禁用的文本框。出现验证错误时的文本

Wpf清除禁用的文本框。出现验证错误时的文本,wpf,mvvm,validationerror,Wpf,Mvvm,Validationerror,我有三个文本框,文本绑定到三个属性。 当我输入第三个文本框时,我需要禁用两个文本框。我必须清除禁用文本框的值 ` ` T1-3Enabled是一个只有getter的属性,我在TextBox的lost focus命令上引发propertychanged。当这些属性刷新时,我清除禁用文本框TextProperty1-3的绑定属性 但是,当某些禁用的textbox出现验证错误时,source属性将被清除,但textbox.text不会被清除 如何在mvvm中解决这个问题?我不想设置textbox.te

我有三个文本框,文本绑定到三个属性。 当我输入第三个文本框时,我需要禁用两个文本框。我必须清除禁用文本框的值

`

`

T1-3Enabled是一个只有getter的属性,我在TextBox的lost focus命令上引发propertychanged。当这些属性刷新时,我清除禁用文本框TextProperty1-3的绑定属性

但是,当某些禁用的textbox出现验证错误时,source属性将被清除,但textbox.text不会被清除

如何在mvvm中解决这个问题?我不想设置textbox.text

我希望问题是清楚的。
感谢您的帮助或其他解决方案。

我使用派生的textbox类解决了这个问题

public class MyTextBox : TextBox
{
    public MyTextBox()
    {
        IsEnabledChanged += MyTextBox_IsEnabledChanged;
    }

    private void MyTextBox_IsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
    {
        if(e.NewValue is bool)
            if (!(bool)e.NewValue)
                Text = string.Empty;
    }
}

如何验证它们?另外。。。您所说的验证错误是什么意思?
public class MyTextBox : TextBox
{
    public MyTextBox()
    {
        IsEnabledChanged += MyTextBox_IsEnabledChanged;
    }

    private void MyTextBox_IsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
    {
        if(e.NewValue is bool)
            if (!(bool)e.NewValue)
                Text = string.Empty;
    }
}