我试图启动我的需求组合框的验证....类似的代码完全适用于一个文本框,但看起来像组合框的行为完全不同(文本或selectedItem绑定):WPF组合框validationrules
<ComboBox x:Name="someCombo" ItemsSource="{Binding items}">
<ComboBox.SelectedItem>
<Binding Path="Model.SomeItem" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<validation:SomeValidationRule ValidatesOnTargetUpdated="False">
</validation:SomeValidationRule >
</Binding.ValidationRules>
</Binding>
</ComboBox.SelectedItem>
</ComboBox>
和
public class SomeValidationRule : ValidationRule
{
public override ValidationResult Validate(object value,
System.Globalization.CultureInfo cultureInfo)
{
var userText = value as string;
return String.IsNullOrWhiteSpace(userText)?
new ValidationResult(false, "empty combobox error..") :
new ValidationResult(true, null);
}
}
为一个文本框时,我想通过MyTextBox.UpdateSource但我不能找到任何方式与组合框做到这一点,我可以启动验证。
我需要在特定情况下仅在需求时启动validaiton。
所以我的问题是为什么someCombo.UpdateSource不启动我的验证?
感谢
米歇尔
你能告诉我们发生故障的'UpdateSource'代码? – 2014-10-27 14:42:29
someCombo.UpdateSource()//要在此处手动启动验证 – michelqa 2014-10-27 14:45:36
“ComboBox”上没有'UpdateSource'方法。你可以添加你的*实际代码*,但不能解决问题吗?你在调用扩展方法吗?如果是这样,那么该方法的代码是什么? – 2014-10-27 14:49:04