簡體   English   中英

在代碼中而不在XAML中的綁定錯誤驗證

[英]Binding Error Validation In Code and not in XAML

我了解如何在XAML設置事件時如何綁定和處理驗證錯誤,如下所示,我現在需要做的是添加相同的錯誤處理程序,但完全在代碼中添加XAML因為我在運行時在代碼中添加了控件。 我進行了搜索,但找不到任何指向正確方向的內容。

<Grid>
    <TextBox Validation.Error="TextBox_Error" />
</Grid>

如果您理解正確,這里就是您想要的:

var element = yourRunTimeControl as DependencyObject;
System.Windows.Controls.Validation.AddErrorHandler(element, ErrorHandler)

private void ErrorHandler(object sender, System.Windows.Controls.ValidationErrorEventArgs e)
{
    ...
}

您可以在此處閱讀有關Validation.Error附加事件的更多信息。

您還可以為控件設置Binding並為綁定添加ValidationRules

            TextBox txtBox = new TextBox();
            txtBox.DataContext = // Your data;

            Binding binding = new Binding();
            binding.Path = // Set path;
            binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
            binding.ValidatesOnDataErrors = true;
            binding.NotifyOnValidationError = true;
            binding.ValidationRules.Add(// Your ValidationRule class);
            txtBox.SetBinding(TextBox.TextProperty, binding);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM