我正在使用 Blend 并有以下问题:
如何通过单击复选框更改矩形的背景颜色?当我通过右键单击,编辑模板然后编辑副本时,我只能编辑当前对象。在这种情况下,它将是复选框。但我想使用复选框来编辑矩形对象的样式。这可能吗?
您可以绑定到IsChecked
属性并使用ValueConverter
<CheckBox x:Name="cb" />
<Rectangle Fill="{Binding ElementName=cb, Path=IsChecked, Mode=OneWay, Converter={StaticResource CheckedToBackgroundConverter}}" />
价值转换器
public class CheckedToBackgroundConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value is bool && (bool)value ? Brushes.Blue : Brushes.Red;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return DependencyProperty.UnsetValue;
}
}
希望有帮助