WPF ValidationRule - Как сравнить два значения друг с другом
Я новичок в WPF и сейчас борюсь с его проверкой. В методе validate моего класса Validation мне нужно сравнить значение TextBox1 со значением TextBox2, включенным в мою форму.
Есть ли способ сделать это в WPF?
1 ответ
Как насчет этого файла Xaml.cs
private string _Txt1;
public string Txt1
{
get { return _Txt1; }
set { _Txt1 = value;
OnPropertyChanged("Txt1");
}
}
private string _Txt2;
public string Txt2
{
get { return _Txt2; }
set
{
_Txt2 = value;
OnPropertyChanged("Txt2");
}
}
public event PropertyChangedEventHandler PropertyChanged;
/// <summary>
/// Called when [property changed].
/// </summary>
/// <param name="PropertyName">Name of the property.</param>
private void OnPropertyChanged(string PropertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(PropertyName));
}
}
private void textbox2_TextChanged(object sender, TextChangedEventArgs e)
{
Check();
}
private void textbox1_TextChanged(object sender, TextChangedEventArgs e)
{
Check();
}
public void Check()
{
if (Txt1 == Txt2)
{
MessageBox.Show("Values cant be same");
Txt1 = "";
Txt2 = "";
}
}
XAML файл-
<Grid>
<TextBox Name="textbox1" Width="100" Height="20" TextChanged="textbox1_TextChanged" Text="{Binding Txt1,RelativeSource={RelativeSource AncestorType=Window},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<TextBox Name="textbox2" Width="100" Height="20" Margin="81,146,322,146" TextChanged="textbox2_TextChanged" Text="{Binding Txt2,RelativeSource={RelativeSource AncestorType=Window},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</Grid>