我的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" />
有人能指出我正确的方向吗?
答案 0 :(得分:3)
使用StaticResource
代替DynamicResource
,即:
Opacity="{Binding IsChecked, ElementName=DisplayPlateGapPoints, Converter={StaticResource boolOpacityConverter}}"
确保通过app.xaml或目标XAML文件中的资源字典引用其他XAML文件。