Silverlight: как принудительно связать после установки свойства DataContext - PullRequest
2 голосов
/ 16 декабря 2008

Можно ли установить свойство DataContext пользовательского элемента управления после загрузки пользовательского элемента управления и принудительно повторно связать пользовательский элемент управления?

Ответы [ 4 ]

5 голосов
/ 30 декабря 2008

Если вам нужно проделать дополнительную работу при изменении DataContext, вы можете использовать пользовательский DependencyProperty и связать его со свойством DataContext. Используйте DependencyPropertyChangedEventHandler, чтобы узнать, когда DP изменился.

Более подробное объяснение см. В моем блоге на http://msmvps.com/blogs/theproblemsolver/archive/2008/12/29/how-to-know-when-the-datacontext-changed-in-your-control.aspx.

5 голосов
/ 16 декабря 2008

Я почти уверен, что если вы просто установите текстовый код еще раз, он будет перепривязан

1 голос
/ 14 июня 2012

Другой способ принудительного повторного связывания, например:

MyDataGrid.SetBinding(DataGrid.ItemsSourceProperty, 
    MyDataGrid.GetBindingExpression(DataGrid.ItemsSourceProperty).ParentBinding);

Этот метод можно использовать и для DataContext.

1 голос
/ 16 декабря 2008

Установка свойства DataContext должна вызвать повторное связывание.

...