I am trying to add a ValidationRule to XAML from code behind and and need to have this:
<TextBox.Text>
<Binding Path="Model.txt1.Value" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True">
<Binding.ValidationRules>
<localVal:RequiredValidate />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
I have tried this so far:
FrameworkElement SelectedObject = fe_dragged_control;
DependencyProperty property =
ControlBindingExtensions.GetDependencyPropertyFromName("Text", SelectedObject.GetType());
Binding binding = new Binding("Model." + SelectedObject.Name + ".Value");
binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
binding.ValidatesOnDataErrors = true;
RequiredValidate role = new RequiredValidate();
binding.ValidationRules.Add(role);
SelectedObject.SetBinding(property, binding);
I found this on google, but I am getting the following result (removed irrelevant properties for readability:
<TextBox Text="{Binding ValidatesOnDataErrors=True,
Path=Model.txt0.Value,
UpdateSourceTrigger=PropertyChanged}" >
How do I get to have the the result I need (the 1st code)? Thanks
You should check your viewmodel. Your sample worked with the following test case.
Validation
Code behind
and ViewModels