Потеря привязки данных свойства зависимости - PullRequest
2 голосов
/ 13 февраля 2012

У меня есть пользовательский элемент управления, в котором я создал пользовательский DependencyProperty с именем TheObject, который может содержать универсальный объект.

<comp:MyControl TheObject="{Binding Country}" />

Иногда мне нужно установить TheObject для внутреннего использования (по коду, для внутреннего контроля).

Я сделал что-то вроде этого:

this.TheObject = new Country();

Но я понял, что это приводит к потере DataBinding, и элемент управления не реагирует на изменения данных. Я действительно хочу, чтобы этот новый объект оставался присоединенным к существующему DataBinding свойства.

1 Ответ

3 голосов
/ 13 февраля 2012

Использовать SetCurrentValue:

Этот метод используется компонентом, который программно устанавливает значение одного из своих собственных свойств, не отключая объявленное в приложении использование свойства,Метод SetCurrentValue изменяет действующее значение свойства, но существующие триггеры, привязки данных и стили будут продолжать работать.

this.SetCurrentValue(TheObjectProperty, new Country());
...