2012-02-24 3 views
0

레이블, 단추 및 텍스트 상자가있는 표가 있습니다. forground의 값을 "false"로 설정하려면 & 버튼의 "IsEnabled"속성을 false로 설정하고 싶습니다. 그러나 나는 "Targetame 속성을 스타일 설정자에 설정할 수 없으므로이 datatrigger에서 targetname에 setter를 설정할 수 없습니다." 어떻게 하나의 방아쇠와 여러 요소에 대한 setters 사용할 수 있도록이 문제를 해결할 수, 내가 갈 수있는 Button.Styletriggers 정확히 동일한 datatrigger 넣을 수 있지만 아마도 거기에 tih 할 수있는 더 좋은 방법은 무엇입니까?WPF on trigger 다른 컨트롤에서 여러 설정 자 수행

<Button Content="Save" Click="btnsave_Click" Grid.Column="1" Grid.Row="2" x:Name="btnsave" IsEnabled="True" /> 
      <Label Content="{Binding ElementName=txtclc, Path=Text, Converter={StaticResource convertcode}}" Name="lblcheckclc" Grid.Row="1" Grid.Column="2"> 
       <Label.Resources> 
        <Style TargetType="{x:Type Label}"> 
         <Setter Property="Foreground" Value="Green" /> 

         <Style.Triggers> 
          <DataTrigger Binding="{Binding ElementName=lblcheckclc, Path=Content}" Value="Invalid"> 
           <Setter Property="Foreground" Value="Red" /> 
           <Setter TargetName="btnsave" Property="IsEnabled" Value="False" /> <!--This line is the problem--> 

          </DataTrigger> 
         </Style.Triggers> 
        </Style> 
       </Label.Resources> 
      </Label> 

PS : 나는 다음 2 세터를 언급 라벨의 값이 = "잘못된는"다음를 forground이

+0

여기 암시 적 스타일을 사용하려는 특별한 이유는 무엇입니까? 대신 을 의미하지 않습니까? –

+0

@ Baboon 나는 몰라.하지만 똑같지 않니? – Maximc

+0

동일하지 않습니다. 암시 적 스타일은 특정 FrameworkElement의 전역 설정자를위한 것입니다. 지금은 그 스타일을 레이블 자체가 아니라 레이블의 하위에만 적용한다고 생각합니다. 나는 틀릴 수 있었다. –

답변

0

에 대한 답변 this msdn forum에서 봐 주시기 바랍니다 빨간색이되면 그것은 (작동 경우

<Style.Triggers> 
    <Trigger Property="Content" Value="Invalid"> 
     <Setter Property="Foreground" Value="Red" /> 
    </Trigger> 
</Style.Triggers> 

사용하는 트리거를 사용하면 공동처럼 요소의 속성을 모니터링 할 계획 할 때 :

질문

또한 트리거 섹션 사용한다 incorect입니다 네이트. 문자열이
  • 가 설정하는 데이터 트리거와 버튼의 스타일을 만들기 bool로하는 레이블의 콘텐츠로 버튼의 IsEnabled 속성 바인드한다

    • 및 변환하는 컨버터를 구현 :

      은 예를 들어 작업 중 하나를 만들려면 IsEnabled 속성

  • 관련 문제