如何让Button对WPF中的Bindings属性更改做出反应?

时间:2013-06-03 14:33:26

标签: c# wpf button event-handling datacontext

我有一个加载DataContext的控件,基于它我创建了一堆Button。我希望Button对绑定对象更改的更改做出反应

<Button ToolTip="{Binding Tip}" 
        ib:ButtonProperties.Image="{Binding EnabledSource}" 
        ib:ButtonDProperties.Image="{Binding DisabledSource}" 
        Content="{Binding Text}" 
        IsEnabled="{Binding DefaultEnabled}"
        Tag="{Binding .}"

        Click="ToolBarButtonButton_Click"

        Style="{StaticResource ImageButton}">

</Button>

为简化起见,让我们说,我数据绑定了一个自定义对象的集合,这些对象有一个名为“IsPerfect”的属性,类型为bool。分配给按钮的对象也被设置为标记。

我希望按钮对属于数据绑定对象的属性“IsPerfect”做出反应,然后执行事件处理程序或启用/禁用按钮。

2 个答案:

答案 0 :(得分:1)

<Button IsEnabled="{Binding SomeBoolValue}"/>

答案 1 :(得分:0)

您可以使用某种风格来实现目标。

<Button>
  <Button.Style>
   <Style>
      <DataTrigger Binding="{Binding IsPerfect}" Value="True">
         <Setter Property="Button.IsEnabled" Value="True"></Setter>
      </DataTrigger>
   </Style>
  <Button.Style>
</Button>