実行時にいくつかの条件が満たされている場合、削除したいxamlにバインディングがあります。これは私のXAMLからコードスニペットです:WPF ComboBoxバインディングを動的に削除します。
<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はadecuate依存関係プロパティではありませんが発生します。
BindingOperations.ClearBinding(Me.cbRad,Me.cbRad.SelectedItem)
これはコンパイルしますが、Me.cbRad.Selecteditemがnullであるため、このファイルはコンパイルされますが、ランタイムエラーが発生します。
¿コードを使用して宣言されていないかのようにバインディングを削除するにはどうすればよいですか?
データソースをnullに設定するだけですか? –
はい@UsamaZafarですが、xamlで使用されるNotNullValidationルールではnull値を使用できません。それが私がバインディングを削除したい理由です。 – WristMan