2013-04-09 127 views
2

我想避免按鈕被禁用時的顏色變化。 按鈕顏色應該是相同的,如果它的diabled或不。在按鈕上禁用「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?或者至少使殘疾人背景顏色數據綁定?

對不起,我的英語不好。

回答

0

如果你想讓它的數據bonund最合適的地方,國際海事組織,是你無法控制的相對DataTmplate,在那裏你指定Style,並應用於控制數據(由您已經定義)內聲明它。

在那裏你可以在你想要在按鈕上顯示的某種狀態和相對顏色之間定義一個Converter

OR

如果你想限制自己Style,您可以定義裏面Style數據綁定本身。伊莫不是很合乎邏輯,但它可能是

對此答案一看:

Change Button Background color through MVVM pattern in WPF

+0

我dont't讓我怎麼能在按鈕的殘疾人國家通過風格或DataTemplate中改變BACKGROUND_COLOR。你能指定它嗎? – 2013-04-09 07:34:27

+0

@DocSnuggles:你看我的答案中提供的鏈接?有一個如何做到這一點的實際例子。 – Tigran 2013-04-09 07:37:19