0

我是 WPF 新手,正在学习 WPF 的基础知识。我想要的是当 CheckBox 被选中时,然后将 Button 的背景设为绿色。

以下是我编写的代码:

<Window x:Class="MyApplication.DataTrigger2"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="DataTrigger2" Height="300" Width="300" Loaded="Window_Loaded">
    <Window.Resources>
        <Style x:Key="styleDataButton" TargetType="Button">
            <Style.Triggers>
                <DataTrigger Binding="{Binding chk}" Value="checked">
                    <Setter Property="Background" Value="Gold"/>
                </DataTrigger>
            </Style.Triggers>

        </Style>
    </Window.Resources>
    <Grid>
        <Button x:Name="btn" Height="50" Width="100" Content="Button" Margin="89,33,89,178" Style="{StaticResource styleDataButton}"/>
        <CheckBox x:Name="chk" Content="Checkbox" Height="50" Width="100" Margin="89,106,89,105"></CheckBox>
    </Grid>
</Window>
4

1 回答 1

0

您需要绑定到CheckBox元素。Binding="{Binding chk}"表示您正在绑定到 DataContext 的“chk”属性。您应该将其更改为:

<DataTrigger Binding="{Binding ElementName=chk, Path=IsChecked}" Value="True">
     <Setter Property="Background" Value="Gold"/>
</DataTrigger>

这样,您将绑定到您的IsChecked属性CheckBox并检查值是否为真。

于 2012-10-12T06:08:24.433 回答