![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
sealmu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 11.11.2006 Репутация: нет Всего: нет |
у меня есть UserControl с 2-мя DependencyProperty:
который я использую в XAML : <local:Observer In="{Binding ElementName=tb, Path=Text}" Out="{Binding ElementName=tb2, Path=Tag}"></local:ComboObserver> Я хочу при изменении In -> поменять свойство привязоное к Out но если я меняю Out, просто теряеться Binding. Как обновлять привязаное к Out свойство? |
|||
|
||||
Gvozdin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
Помоему надо использовать метод DependencyObject.SetCurrentValue
если не он, то пожже погляжу точнее --------------------
http://gvozdin.ru |
|||
|
||||
sealmu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 11.11.2006 Репутация: нет Всего: нет |
Я пробую так :
private static void InChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { broker DP = (broker)sender; if (DP != null) { DP.SetCurrentValue(OutProperty, DP.In); BindingExpression b = DP.GetBindingExpression(OutProperty); if (b != null) b.UpdateSource(); } } не обновляет! (хотя в In и содержиться значение) |
|||
|
||||
Gvozdin |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
А зачем для OutProperty говорить UpdateSource?
Вы байндинг такой случаем не ставите this.SetBinding(OutProperty, <binding>)? У меня вот собственно все работает, можете сами попробовать:
Скорее дело где-то в вашем коде. По крайней мере уберите UpdateSource. --------------------
http://gvozdin.ru |
||||
|
|||||
sealmu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 11.11.2006 Репутация: нет Всего: нет |
Нет не так!
У меня наоборот. в этом коде привязка от textbox ------> к Test property и обновление идет от Test --------> к testbox [source ----> target] у меня же : привязка от MyProperty (через SetBinding) ------> к textbox обновление идет от MyProperty --------> к testbox [target ---> source] |
|||
|
||||
Gvozdin |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 9.8.2011 Где: Москва Репутация: 8 Всего: 8 |
Вот пожалуйста в обратную сторону:
Все работает хоть в какую сторону. Я думаю что-то надо смотреть в сторону local:Observer. Байндинг может отваливаться если: 1. ClearBinding и наверное ClearValue какое-нибдуь 2. Устанавливаем новый байндинг 3. Бывают тупые случаи когда OneWay байндинг отваливается когда ему захочется, попробуйте везде поставить явно TwoWay --------------------
http://gvozdin.ru |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |