2011-03-30 86 views
0

我在Windows Presentation Foundation中工作,我需要将两个按钮绑定在一起。第一个按钮是一个经典按钮,第二个按钮是一个切换按钮。当用户按下切换按钮时,它变成“开”,在这一刻我需要禁用经典按钮。当用户再次按下切换按钮并变为“OFF”时,经典按钮应该变为“启用”。有没有办法做到这一点,没有经典的转换器绑定。我的意思是触发器或类似的东西。WPF将两个按钮绑定在一起

回答

1

你可以用触发器来实现,但它会更加简洁。一个触发器版本将是这样的:

<Button Content="One"> 
    <Button.Style> 
    <Style TargetType="Button"> 
     <Style.Triggers> 
     <DataTrigger Binding="{Binding IsChecked, ElementName=tb}" Value="True"> 
      <Setter Property="IsEnabled" Value="False" /> 
     </DataTrigger> 
     </Style.Triggers> 
    </Style> 
    </Button.Style> 
</Button> 
<ToggleButton x:Name="tb">Two</ToggleButton> 

有了声明为资源的合适的转换器它会更是这样的:

<Button Content="One" IsEnabled="{Binding IsChecked, ElementName=tb, Converter={StaticResource BooleanInverterConverter}}" /> 
<ToggleButton x:Name="tb">Two</ToggleButton>