1

我刚开始在 C# 中编程并收到以下错误消息“不能在 'SetterBaseCollection' 集合中使用'MultiBinding'。只能在 DependencyObject 的 DependencyProperty 上设置'MultiBinding'”。我的想法是禁用一些与给转换器的输入值相关的组合框。稍后在 xaml 文件中使用相同的转换器并且没有错误..

    <DataTemplate x:Key="ComboBoxDirectionCellDataTemplate">
         <Canvas>
            <ComboBox Name="DirectionBi" ItemsSource="{Binding Source={StaticResource DirectionBiList}}" SelectedItem="{Binding Direction, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Background="#FFCDCDCD" />
            <ComboBox Name="DirectionOut" ItemsSource="{Binding Source={StaticResource DirectionOutList}}" SelectedItem="{Binding PinFunctionOptions[SelectedPinFunctionIdx].SupportedDirections, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Background="#FFCDCDCD" />
            <ComboBox Name="DirectionIn" ItemsSource="{Binding Source={StaticResource DirectionOutList}}" SelectedItem="{Binding PinFunctionOptions[SelectedPinFunctionIdx].SupportedDirections, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Background="#FFCDCDCD" />
        </Canvas>
        <DataTemplate.Triggers>
            <DataTrigger Value="In">
                <MultiBinding Converter="{StaticResource FunctionToGroupConverter}">
                    <Binding Path="PinFunctionOptions"/>
                    <Binding Path="SelectedPinFunctionIdx"/>
                </MultiBinding>
                <Setter TargetName="DirectionBi" Property="Visibility" Value="Hidden"/>

感谢帮助!!!!

4

2 回答 2

4

我可能是错的-我目前无法检查...

我想你想要的是以下......

<DataTrigger ...>
<DataTrigger.Binding>
    <MultiBinding Converter="{StaticResource FunctionToGroupConverter}">
        <Binding Path="PinFunctionOptions"/>
        <Binding Path="SelectedPinFunctionIdx"/>
    </MultiBinding>
</DataTrigger.Binding>
</DataTrigger>
于 2013-04-04T21:40:56.970 回答
-1

DataTemplate.Triggers期待一个集合,Setter你为什么要MultiBinding在里面放一个?

你得到的例外是这个的结果。

我不完全确定您正在尝试什么,MultiBinding但您可能会通过在各个元素上单独执行绑定来做得更好。

于 2013-04-04T21:14:44.160 回答