如何使用带复选框的转换器?

时间:2012-06-08 11:29:33

标签: wpf xaml

我的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" />

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

1 个答案:

答案 0 :(得分:3)

使用StaticResource代替DynamicResource,即:

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

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