- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个使用 DataAnnotations 实现 MVVM 设计模式的应用程序。该应用程序是一个动态生成的页面列表。在其中一个页面上,我有 10 个必填字段和 2 个是/否单选按钮。这 10 个字段分为两组,每组都带有一个边框标签。每个边框的可见性都与隐藏/可见的单选按钮绑定(bind)。
我的问题是,如果选择了"is"并显示了相关的 5 个必需文本框,我如何将 ValidatesOnDataErrors 设置为 false/true 并清除其他隐藏的必需文本框的文本框值?
这是一个代码片段。
谢谢
<Border>
<Border.Style>
<Style>
<Setter Property="Border.Visibility" Value="Hidden"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=PresentlyEmployed_yes, Path=IsChecked}"
Value="True">
<Setter Property="Border.Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<Grid Height="Auto" Width="Auto">
<Label Name="JobTitle"
Content="{x:Static properties:Resources.JobTitlelbl}" />
<TextBox Name="JobTitle" Text="{Binding JobTitle, Mode=TwoWay,
ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Text" Value="{Binding PrimaryInsuredBusinessDuties, Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged, IsAsync=True}" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=PresentlyEmployed_yes, Path=IsChecked}"
Value="True">
<Setter Property="Text" Value="{Binding JobTitle, Mode=TwoWay,
ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" />
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=PresentlyEmployed_yes, Path=IsChecked}"
Value="False">
<Setter Property="Text" Value="{Binding JobTitle, Mode=TwoWay,
ValidatesOnDataErrors=False, UpdateSourceTrigger=PropertyChanged}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Grid>
</Border>
最佳答案
尝试设置 Validation.Template
至{x:Null}
如果它不应该显示验证错误
<StackPanel>
<ListBox x:Name="MyListBox" SelectedIndex="0">
<ListBoxItem>Validate Value 1</ListBoxItem>
<ListBoxItem>Validate Value 2</ListBoxItem>
</ListBox>
<TextBox Text="{Binding Value1, ValidatesOnDataErrors=True}">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedIndex, ElementName=MyListBox}" Value="1" >
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<TextBox Text="{Binding Value2, ValidatesOnDataErrors=True}">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedIndex, ElementName=MyListBox}" Value="0" >
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</StackPanel>
关于WPF/XAML - 选中单选按钮时设置 ValidatesOnDataErrors = false/true 的 DataTriggers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7123687/
有没有办法为我的自定义 DependencyProperty 将 ValidatesOnDataErrors 设置为 True,这样我就不必在每次绑定(bind)到它时都这样做?符合 this 的内容
我必须需要绑定(bind) ValidatesOnDataErrors 的值,以便可以在运行时确定。 这样做的原因是因为我并不总是想验证数据。 这是绑定(bind)的属性,所以我知道我 不能做这个:
我有自己的错误提供程序,不想使用任何内置的 WPF 内容。我有一个绑定(bind)到整数的文本框,我有 ValidatesOnExceptions=False 和 ValidatesOnDataErr
我正在尝试使用 IDataErrorInfo 验证 TextBox 的内容。下面列表的来源是一个列表,每个项目都是显示的。当我把 ValidatesOnDataErrors=True在 TextBox
有没有办法以编程方式设置 ValidatesOnDataErrors=True ? 我有一个从 Textbox 继承的自定义文本框类,如下所示: public class ActiveTextBox:
我正在开发一个使用 DataAnnotations 实现 MVVM 设计模式的应用程序。该应用程序是一个动态生成的页面列表。在其中一个页面上,我有 10 个必填字段和 2 个是/否单选按钮。这 10
在WPF验证中,以下内容有什么区别: ValidatesOnNotifyDataErrors = True ValidatesOnDataErrors = True NotifyOnValidatio
我是一名优秀的程序员,十分优秀!