Условное связывание - PullRequest
0 голосов
/ 30 мая 2018

У меня есть TextBox es, которые все связаны со строковым свойством TheText в ViewModel

<TextBox x:Name="t1" Text="{Binding TheText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<TextBox x:Name="t2" Text="{Binding TheText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<TextBox x:Name="t3" Text="{Binding TheText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />

ViewModel:

string theString = String.Empty;

public string TheText
{
    get { return this.theString; }
    set
    {
        if (this.theString != value)
        {
            this.RaisePropertyChanged();
            this.theString = value;
        }
    }
}

Я пытаюсь сделатьследующее:

if(something)
   then bind only t1 and t2 and cancel binding of t3

Возможно ли это?

1 Ответ

0 голосов
/ 30 мая 2018

Почему бы вам просто не создать 3 свойства и связать их при необходимости?

у вас будут TheText1, TheText2 и TheText3 с 3 инициализациями, но это неплохо.Вам просто нужно установить свой «TheTextX» по необходимости.

Если вам действительно нужно «удалить» привязку, просто сделайте следующее:

BindingOperations.ClearBinding(yourTextBoxToDeleteBind, TextBox.TextProperty)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...