Удалить привязку не работает при использовании bindingbase.Clearbinding - PullRequest
0 голосов
/ 04 марта 2020

Я пытался удалить привязку для моего текстового поля. Я использовал мультисвязывающий конвертер, чтобы установить текст текстового поля, которое принимает текст для контекста данных и текстовое поле в качестве входных данных для конвертера. Ongotfocus of the text box Я удаляю привязку текстового свойства текста. Однако привязка не удаляется.

                    <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);}}
...