0

我正在使用 Blend 并有以下问题:

如何通过单击复选框更改矩形的背景颜色?当我通过右键单击,编辑模板然后编辑副本时,我只能编辑当前对象。在这种情况下,它将是复选框。但我想使用复选框来编辑矩形对象的样式。这可能吗?

4

1 回答 1

0

您可以绑定到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;
  }
}

希望有帮助

于 2013-07-29T09:49:48.350 回答