2013-04-09 170 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