【发布时间】:2017-01-19 19:01:47
【问题描述】:
我在 xaml 中有一个绑定,如果在运行时满足某些条件,我想删除它。这是我的 xaml 中的代码 sn-p:
<ComboBox x:Name="cbRad" Width="175"
HorizontalAlignment="Left"
cl:FrameworkElementUtil.Required="True"
Height="18"
VerticalAlignment="Top"
TabIndex="20"
DisplayMemberPath="Isotopo" SelectedValue="{Binding Rad}" RenderTransformOrigin="0.247,7.773"
Grid.Row ="6"
Grid.Column="3">
<ComboBox.SelectedItem>
<Binding Path="Rad">
<Binding.ValidationRules>
<v:NotNullValidationRules />
</Binding.ValidationRules>
</Binding>
</ComboBox.SelectedItem>
</ComboBox>
我已经调查过BindingOperations.ClearBinding,但所有的例子都与文本框有关,我真的不明白。到目前为止,我已经尝试了以下方法:
BindingOperations.ClearBinding(Me.cbRad,ComboBox.SelectedItem)
这给了我一个编译错误,因为 ComboBox.SelectedItem 不是一个适当的依赖属性。
BindingOperations.ClearBinding(Me.cbRad,Me.cbRad.SelectedItem)
这个编译但它给出了一个运行时错误,因为 Me.cbRad.Selecteditem 为空。
¿如何删除绑定,就好像从未使用代码声明过一样?
【问题讨论】:
-
您是否尝试过将数据源设置为空?
-
是 @UsamaZafar ,但 xaml 中使用的 NotNullValidation 规则不允许空值。这就是我想删除绑定的原因,