首页 > 解决方案 > 使用 bindingbase.Clearbinding 时删除绑定不起作用

问题描述

我一直在尝试删除我的文本框的绑定。我使用了多重绑定转换器来设置文本框的文本,该文本框将数据上下文的文本和文本框作为转换器的输入。文本框的 Ongotfocus 我删除了文本的 textproperty 的绑定。但是,绑定并没有被删除。

                    <TextBox.Text>
                        <MultiBinding Converter="{Converter.Instance}">
                            <Binding Path="Value" Mode="OneWay" ValidatesOnDataErrors="True"/>
                            <Binding RelativeSource="{RelativeSource Self}"/>
                        </MultiBinding>
                    </TextBox.Text>

    private void OnPatientTextBoxGotFocus(object sender, RoutedEventArgs e)
    {
        var textBoxObj = sender as TextBox;
        if (textBoxObj != null && textBoxObj.DataContext != null && textBoxObj is DependencyObject textBox && textBoxObj.DataContext is StringAttribute dataContext)
        {
            SetKeyboardFocus(textBoxObj);
            _bindingBase = BindingOperations.GetBindingBase(textBoxObj, TextBox.TextProperty);
            textBoxObj.Text = dataContext.Value;

            BindingOperations.ClearBinding(textBox, TextBox.TextProperty);}}

标签: c#wpfdata-bindingbinding

解决方案


推荐阅读