折叠可见性时如何禁用对组合框元素的验证?
Posted
技术标签:
【中文标题】折叠可见性时如何禁用对组合框元素的验证?【英文标题】:How to disable validation of a combox element when visibility is collapsed? 【发布时间】:2021-11-03 00:26:53 【问题描述】:我想在 ComboBox 或 TextBox 的可见性折叠时禁用它们的验证。我可以在 XAML 代码中实现这一点吗?
<ComboBox Name="XYZCb" ItemsSource="Binding XYZ" Visibility="Binding IsVisible, Converter=StaticResource BoolToVisibilityConverter">
<ComboBox.Text>
<Binding Path="xyz" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<valid:ValidationRule ValidatesOnTargetUpdated="True"/>
</Binding.ValidationRules>
</Binding>
</ComboBox.Text>
</ComboBox>
按钮属性绑定:
<Button.IsEnabled>
<MultiBinding Converter="StaticResource InverseAndBooleansToBooleanConverter"
Mode="TwoWay">
<Binding ElementName="XYZCb" Path="(Validation.HasError)"/>
</MultiBinding>
<Button.IsEnabled>
【问题讨论】:
这能回答你的问题吗? Stop ValidationRule if ComboBox is Collapsed 我认为这是@Andy 的误解。根据我的理解,collapsed 是指整个组合框的可见性,而不是扩展器。 【参考方案1】:如果我理解正确你需要什么:
<Button>
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="Binding Path=(Validation.HasError), ElementName=XYZCb" Value="True"/>
<Condition Binding="Binding Visibility, ElementName=XYZCb" Value="Visible"/>
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="False"/>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
不要忘记删除您的 <Button.IsEnabled>
绑定。
【讨论】:
非常感谢。这就是我要找的!以上是关于折叠可见性时如何禁用对组合框元素的验证?的主要内容,如果未能解决你的问题,请参考以下文章