Как получить DataContext для UIElement? - PullRequest
1 голос
/ 18 ноября 2011

Поскольку UIElement не имеет свойства DataContext, как я могу получить DataContext для UIElement?

Ответы [ 2 ]

7 голосов
/ 18 ноября 2011

Свойство DataContext вводится в иерархию наследования в FrameworkElement.

Поскольку FrameworkElement наследуется от UIElement, вы должны убедиться, что UIElement на самом деле является FrameworkElement:

var frameworkElement = uiElement as FrameworkElement;
if(frameworkElement != null)
{
    var dc = frameworkElement.DataContext;
}
0 голосов
/ 18 ноября 2011

Вы должны иметь возможность привести UIElement к FrameworkElement и затем получить доступ к свойству DataContext.

...