2013-06-06 4 views
0

Я пытаюсь изменить фон текстового поля, если значение поля содержит указанный текст. Проблема, с которой я сталкиваюсь, заключается в том, что у меня уже есть стиль, применяемый к полю, и я пытаюсь переписать свойство стиля, как в следующем примере, но без успеха. Любые идеи, как я могу достичь этого?Условная перезапись свойства стиля

<TextBox Grid.Column="1" 
     HorizontalAlignment="Right" 
     Text="{Binding CustomerType}" > 

    <TextBox.Style BasedOn="{DynamicResource SelectableTextStyle}"> 
     <Style> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding CustomerType}" Value="Unknown"> 
        <Setter Property="TextBox.Background" Value="Tomato"/> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </TextBox.Style> 
</TextBox> 
+0

PLS отредактируйте ваше сообщение и добавьте определение стиля для 'SelectableTextStyle' – Viv

ответ

0

Ваше определение стиля, как написано, вероятно, даже не компилируется, потому что вы используете атрибут имущественного элемента (TextBox.Style тега).

Обновить код так, что внутреннее определение стиля имеет атрибут «» BasedOn как так:

<TextBox.Style> 
    <Style TargetType="TextBox" BasedOn="{DynamicResource SelectableTextStyle}"> 
     <Style.Triggers> 
     .... 

И все будет подливка.

Смежные вопросы