我刚开始在C#中编程并得到以下错误消息“A'MultiBinding'不能在'SetterBaseCollection'集合中使用。'MultiBinding'只能在DependencyObject的DependencyProperty上设置”。我的dea是禁用给转换器输入值的一些组合框depedant。稍后在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"/>
感谢您的帮助!!!!
答案 0 :(得分:3)
我可能错了 - 我现在无法检查这个......
我认为你想要的是以下......
<DataTrigger ...>
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource FunctionToGroupConverter}">
<Binding Path="PinFunctionOptions"/>
<Binding Path="SelectedPinFunctionIdx"/>
</MultiBinding>
</DataTrigger.Binding>
</DataTrigger>
答案 1 :(得分:-1)
DataTemplate.Triggers
期待收集Setter
你为什么试图在其中放置MultiBinding
?
你得到的例外是这样的结果。
我不完全确定您使用MultiBinding
尝试了什么,但通过单独对各个元素执行绑定,您可能会更好。