在WPF组合框中验证所选值
本文关键字:验证 WPF 组合 | 更新日期: 2023-09-27 18:16:49
就像标题所说的,我试图验证我的表单,但我有一个问题获得组合框值:
<ComboBox Name="ComboBox_Country"
Validation.Error="Validation_Error"
Text="{Binding UpdateSourceTrigger=PropertyChanged,
Path=Form_Country,
ValidatesOnDataErrors=true,
NotifyOnValidationError=true}"/>
然后用我的类FormValidation验证,像这样:
public string this[string columnName]
{
get
{
string result = null;
if (columnName == "Form_Country")
{
if (string.IsNullOrEmpty(Form_Country) || !verifyNumericValue(Form_Country))
result = "Please choose a correct option.";
}
}
我使用这些函数在我的表单中调用验证。
private void Confirm_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = _errors == 0;
e.Handled = true;
}
private void Confirm_Executed(object sender, ExecutedRoutedEventArgs e)
{
_generic = new UnidadValidation();
grid_UnidadData.DataContext = _generic;
e.Handled = true;
}
private void Validation_Error(object sender, ValidationErrorEventArgs e)
{
if (e.Action == ValidationErrorEventAction.Added)
_errors++;
else
_errors--;
}
我希望获得选定的值,而不是选定的文本。我最好的选择是什么?
我笨,笨,笨,缺乏观察力。如果你要将ComboBox的Text
改为SelectedValue
,如下所示:
<ComboBox Name="ComboBox_Pais"
Validation.Error="Validation_Error"
SelectedValue="{Binding UpdateSourceTrigger=PropertyChanged,
Path=Escuela_Pais,
ValidatesOnDataErrors=true,
NotifyOnValidationError=true}"/>
One将获得选定的值而不是文本。
对于那些可能想要阅读它的人,我在这里找到了原始教程。
WPF文本框验证与IDataErrorInfo