2010-10-29 6 views
1

У меня есть редактируемый combobox, что текст привязан к свойству объекта. Я связал исключениеValidationrule с свойством text, и он работает и поворачивает элемент управления красным. Мне нужно также отключить кнопку, но я не могу шов, чтобы найти, как проверить validation.haserrors в этом случаеWpf ComboBox validation Trigger

моего 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> 

ответ

6

Попробуйте изменить путь от 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> 

Когда Связывание Attach ed Properties, всегда следует включать '(' ... ')'. Как

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

Фантастическая удивительность. – rerun

+0

Без проблем, рад, что это сработало :) –