버튼

2012-09-19 4 views
5

나는 Button과 스타일이 있습니다버튼

<Button Name="MyBtn" Style="{StaticResource ButtonEnabledStyle}" 
     IsEnabled="False" Opacity="1" /> 

<Style x:Key="ButtonEnabledStyle" TargetType="Button"> 
    <Style.Triggers> 
     <Trigger Property="IsEnabled" Value="True" > 
      <Setter Property="Opacity" Value="0.1" /> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

을하지만 버튼 (MyBtn.IsEnabled = true)를 사용할 때 그것의 불투명도를 변경하지 않습니다. 왜? 이 문제를 어떻게 해결할 수 있습니까? 감사.

+0

하는 시점에서 :

쉽게 수정 대신 스타일의 기본 값을 설정하는 것입니다? 스타일이 초기화되기 전에 어쩌면? – Vale

+0

@Vale 아니오, 다른 버튼을 클릭하면 컨트롤이 이미로드되었습니다. – Nick

답변

15

요소에 설정된 로컬 값 (코드에서 Opacity="1")은 항상 스타일 또는 스타일 트리거 값보다 우선합니다. Dependency Property Setting Precedence List을보십시오. 당신이 진정한 MyBtn.IsEnabled =를 호출

<Style x:Key="ButtonEnabledStyle" TargetType="Button"> 
    <Setter Property="Opacity" Value="1.0" /> 
    <Style.Triggers> 
    <Trigger Property="IsEnabled" Value="True" > 
     <Setter Property="Opacity" Value="0.1" /> 
    </Trigger> 
    </Style.Triggers> 
</Style>