Не удается обновить свойство текстового поля с помощью DataBinding - PullRequest
1 голос
/ 18 июня 2009

У меня есть пользовательское окно, которое имеет два свойства зависимости: Boolean? ValidationStatus и строка ValidationMessage. Привязка этих свойств работает нормально, но триггер, похоже, не срабатывает при изменении этих значений. Что я делаю не так?

<TextBlock x:Name="validationTextBox" 
    Grid.Row="1" 
    Grid.ColumnSpan="2" 
    Text="{Binding ElementName=_this, Path=ValidationMessage}"
    TextAlignment="Center"
    Background="Green">

    <TextBlock.Style>
      <Style>
        <Style.Triggers>
          <DataTrigger Value="False" Binding="{Binding ElementName=_this, Path=ValidationStatus}">
            <Setter Property="Panel.Background" Value="Red"/>
            <Setter Property="TextBox.Text" Value="Outer checkbox is not checked"/>
          </DataTrigger>
        </Style.Triggers>
      </Style>
    </TextBlock.Style>

</TextBlock>

1 Ответ

1 голос
/ 18 июня 2009

Установщики стилей не переопределяют локальные настройки атрибутов.Поэтому значения триггера данных игнорируются, поскольку вы указали свойства Text и Background в TextBlock.Чтобы устранить проблему, установите значения по умолчанию для этих свойств в стиле, как показано в следующем коде:

<TextBlock x:Name="validationTextBox" 
           Grid.Row="1" 
           Grid.ColumnSpan="2" 
           TextAlignment="Center">

<TextBlock.Style>
  <Style>
    <Setter Property="TextBox.Text" Value="{Binding ElementName=_this, Path=ValidationMessage}"/>
    <Setter Property="TextBox.Background" Value="Green"/>
    <Style.Triggers>
      <DataTrigger Value="False" Binding="{Binding ElementName=_this, Path=ValidationStatus}">
        <Setter Property="TextBox.Background" Value="Red"/>
        <Setter Property="TextBox.Text" Value="Outer checkbox is not checked"/>
      </DataTrigger>
    </Style.Triggers>
  </Style>
</TextBlock.Style>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...