gpt4 book ai didi

c# - WPF 如何使用 INotifyDataErrorInfo 在文本框旁边显示错误消息

转载 作者:行者123 更新时间:2023-11-30 22:03:42 24 4
gpt4 key购买 nike

我是 WPF 新手,开始学习下面的教程。

http://social.technet.microsoft.com/wiki/contents/articles/19490.validating-data-in-wpf-4-5-using-the-inotifyerrordataerror-interface.aspx#Visual_feedback

它使用错误模板来显示错误,如下所示

<Validation.ErrorTemplate>

<ControlTemplate>

<StackPanel>

<!-- Placeholder for the TextBox itself -->

<AdornedElementPlaceholder x:Name="textBox"/>

<ItemsControl ItemsSource="{Binding}">

<ItemsControl.ItemTemplate>

<DataTemplate>

<TextBlock Text="{Binding ErrorContent}" Foreground="Red"/>

</DataTemplate>

</ItemsControl.ItemTemplate>

</ItemsControl>

</StackPanel>

</ControlTemplate>

</Validation.ErrorTemplate>

我了解了如何像教程中那样在文本框正下方显示错误消息。但是,我想在文本框旁边而不是在文本框下方显示错误消息。

有办法吗?我试图定义一个新的网格列并尝试将 StackPanel 设置为定位在该新网格上,但它不起作用。 (Grid.Column 里面好像无效)

最佳答案

您需要调整ErrorTemplate:

<TextBox Text="{Binding Username, UpdateSourceTrigger=PropertyChanged, ValidatesOnNotifyDataErrors=True}">
<Validation.ErrorTemplate>
<ControlTemplate>

<!-- Align text box and error list horizontally -->
<StackPanel Orientation="Horizontal">

<AdornedElementPlaceholder x:Name="textBox"/>
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ErrorContent}" Foreground="Red"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ControlTemplate>
</Validation.ErrorTemplate>
</TextBox>

关于c# - WPF 如何使用 INotifyDataErrorInfo 在文本框旁边显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25862549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com