【问题标题】:Wpf ComboBox validation TriggerWpf ComboBox 验证触发器
【发布时间】:2010-10-29 19:29:21
【问题描述】:

我有一个文本绑定到对象属性的可编辑组合框。我已将 exceptionsValidationrule 与 text 属性相关联,它正在工作并将控件变为红色。我还需要禁用一个按钮,但在这种情况下我无法找到如何检查validation.haserrors

组合框的我的 XAML

<ComboBox Margin="0,3,0,3"  Width="40" Name="CATCODE" IsEditable="True" >
    <ComboBox.Text>
       <Binding Path="CategoryCode" >
           <Binding.ValidationRules>
                <ExceptionValidationRule >

                </ExceptionValidationRule>
           </Binding.ValidationRules>
       </Binding>
    </ComboBox.Text>
</ComboBox>

数据触发器

<Style x:Key="DisbleOnValidation"  TargetType="Button">
    <Style.Triggers>
        <DataTrigger Binding="{Binding Path=Validation.HasError, ElementName=CATCODE}" Value="True" >
            <Setter Property="IsEnabled" Value="False"/>
        </DataTrigger>
    </Style.Triggers>
</Style>

【问题讨论】:

    标签: wpf validation


    【解决方案1】:

    尝试将Path从Validation.HasError改为(Validation.HasError)

    <Style x:Key="DisbleOnValidation"  TargetType="Button">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=(Validation.HasError), ElementName=CATCODE}" Value="True" >
                <Setter Property="IsEnabled" Value="False"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
    

    当绑定到附加属性时,应该始终包含“('...')'。喜欢

    {Binding Path=(Grid.Row), ElementName=SomeElement}
    {Binding Path=(Canvas.Left), ElementName=SomeOtherElement}
    

    【讨论】:

      猜你喜欢
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多