2013-04-09 1 views
2

버튼이 비활성화되었을 때 버튼의 색상 변경을 피하려고합니다. 버튼 색상이 희미하게 표시되거나 표시되지 않는 경우 동일해야합니다.단추의 "IsEnabled = false"색 변경을 비활성화 하시겠습니까?

<Style TargetType="{x:Type Button}"> 
... 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type Button}"> 
     ... 
     <ControlTemplate.Triggers> 
     ... 
      <Trigger Property="IsEnabled" Value="false"> 
      <Setter TargetName="Border" Property="Background" Value="#EEEEEE" /> 
      <Setter TargetName="Border" Property="BorderBrush" Value="#AAAAAA" /> 
      <Setter Property="Foreground" Value="#888888"/> 
      </Trigger> 
     </ControlTemplate.Triggers> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 

내가 거기에 배경 색상을 변경할 수 있지만, 배경 색상 변화가 바인딩하고해야하지 때문에 나는 그것이 동적 유지하려면 :이 비활성화됩니다 때의 배경 색상을 변경할 수 있습니다 스타일을 사용

.

배경 설정 도구를 삭제하면 기본 배경색 변경이 수행됩니다.

colorchange를 어떻게 비활성화 할 수 있습니까? 아니면 적어도 장애인 - 배경 - 컬러 데이터 바인딩을 만드시겠습니까?

죄송합니다. 당신이 그것을 데이터 bonund 가장 적합한 장소를 확인하려면

답변

0

, IMO, 당신은 Style가와 제어에 적용 데이터 (이미 의해 정의) 지정 컨트롤의 상대 DataTmplate, 내부를 선언한다.

버튼에 표시하려는 상태와 상대 색상 사이에 Converter을 정의 할 수 있습니다.

또는

당신이 Style에 자신을 제한하려는 경우, 당신은 그 자체 Style 내부 데이터 바인딩을 정의 할 수 있습니다. Imo 논리적이지는 않지만 가능합니다. 내가 스타일 또는 DataTemplate을 통해 버튼의 장애인-상태에서 BACKGROUND_COLOR을 변경하는 방법을 얻을하지 말자

Change Button Background color through MVVM pattern in WPF

+0

:

이 대답에 보라. 제발 그걸 지정할 수 있니? –

+0

@DocSnuggles : 내 대답에 제공된 링크를 보았습니까? 이를 수행하는 방법에 대한 실제 예가 있습니다. – Tigran

관련 문제