Ebe*_*eer 4 data-binding wpf checkbox triggers dependency-properties
这是我想要完成的一个例子:
<Window x:Class="CheckBoxBinding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<CheckBox Name="myCheckBox">this</CheckBox>
<Grid>
<Grid.Resources>
<Style TargetType="ListBox">
<Style.Triggers>
<Trigger Property="{Binding ElementName=myCheckBox, Path=IsChecked}" Value="True">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
</Grid.Resources>
<ListBox>
<ListBoxItem>item</ListBoxItem>
<ListBoxItem>another</ListBoxItem>
</ListBox>
</Grid>
</StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,我得到了这个XamlParseException:
无法在"触发器"类型的"属性"属性上设置"绑定".'绑定'只能在DependencyObject的DependencyProperty上设置.
那么如何将ListBox上的属性绑定到CheckBox的IsChecked属性?
Ben*_*ier 17
尝试使用DataTrigger.用以下内容替换Grid.Resources并且它有效:
<Grid.Resources>
<Style TargetType="ListBox">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=myCheckBox, Path=IsChecked}" Value="True">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Resources>
Run Code Online (Sandbox Code Playgroud)