WPF валидация в юзер контроле.
От: UberPsychoSvin  
Дата: 16.12.13 06:01
Оценка:
Какой самый нормальный способ активировать/деактивировать кнопку в зависимости от того есть ли в UserControl'e ошибки валидации?

Есть некий юзер контрол, в каждом из полей происходит валидация.
<UserControl>
  <TextBox>
    <TextBox.Text>
      <Binding ElementName="Ctrl1" Path="Days">
        <Binding.ValidationRules>
          <ExceptionValidationRule/>
        </Binding.ValidationRules>
      </Binding>
  </TextBox.Text>
  </TextBox>
  <TextBox>
    <TextBox.Text>
      <Binding ElementName="Ctrl1" Path="TimeOfDay" UpdateSourceTrigger="PropertyChanged">
        <Binding.ValidationRules>
          <ExceptionValidationRule/>
        </Binding.ValidationRules>
      </Binding>
    </TextBox.Text>
  </TextBox>    
</UserControl>



Теперь я хочу выключить кнопку если в контроле есть ошибки валидации:
<Button Content="Press" Click="Button_Click">
  <Button.Style>
    <Style TargetType="Button">
      <Setter Property="IsEnabled" Value="false"/>
      <Style.Triggers>
        <DataTrigger Binding="{Binding ElementName=CtrlTimeSpan, Path=(Validation.HasError)}" Value="False">
          <Setter Property="IsEnabled" Value="True"/>
        </DataTrigger>
        <DataTrigger Binding="{Binding ElementName=CtrlTimeSpan, Path=(Validation.HasError)}" Value="True">
          <Setter Property="IsEnabled" Value="False"/>
        </DataTrigger>
      </Style.Triggers>
    </Style>
  </Button.Style>
</Button>


Но оно не видит там ошибок, они видимо по дефолту не всплывают.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.