2013-06-06 3 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

당신의 스타일 정의, 당신이 property 요소합니다 (TextBox.Style 태그)에 속성을 사용하고 있기 때문에 아마 컴파일해서는 안 작성한다. 내부 스타일 정의가 너무 좋아 'BasedOn'속성을 가지도록

업데이트 코드는 :

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

그리고 모든 육즙 될 것입니다.