1

我的 XAML 中有以下复选框:

<CheckBox x:Name="DisplayPlateGapPoints" Content="Display Plate Gap Points" IsChecked="True"/>

我还有另一个带有 Opacity 属性的控件。我想根据复选框是选中还是未选中(通过转换器)来设置不透明度。我已经尝试过了,但是在运行时出现异常:

Opacity="{Binding IsChecked, ElementName=DisplayPlateGapPoints, Converter={DynamicResource boolOpacityConverter}}"

例外情况如下:

A 'DynamicResourceExtension' cannot be set on the Converter property of type 'Binding'

转换器本身在另一个 XAML 文件中定义如下:

<UserControl.Resources>
     <converters:BoolOpacityConverter    x:Key="boolOpacityConverter" />

有人可以指出我正确的方向吗?

4

1 回答 1

3

使用 aStaticResource而不是 a DynamicResource,即:

Opacity="{Binding IsChecked, ElementName=DisplayPlateGapPoints, Converter={StaticResource boolOpacityConverter}}"

并确保通过资源字典(在 app.xaml 或目标 XAML 文件中)引用其他 XAML 文件。

于 2012-06-08T11:43:33.480 回答