Hello WPF Pros at least I hope some of you read this!
DataContext is a property on FrameworkElement (base class for all WPF Controls) and is implemented as a DependencyProperty. That means all the descendant elements in the logical tree share the same DataContext.
So the ContentControl should do it with its descendant elements right?
I have a scenario where that is NOT the case and I would like to know WHAT is the cause of that misbehaviour ?!
That you understand a bit more about it please read this thread ( dont NOT want to copy everything here) where the trouble starts...:
WPF: Can not find the Trigger target 'cc'. The target must appear before any Setters, Triggers
and to say it in short words: My DataTemplates within the ContentControl do have a dead DataContext that means there is NOTHING to bind to it, what is actually not possible...
Every Element down the ContentControl has NOTHING set in the DataContext Property ???
DataContext is a property on FrameworkElement (base class for all WPF Controls) and is implemented as a DependencyProperty. That means all the descendant elements in the logical tree share the same DataContext.
The fact that it's a dependency property doesn't imply inheritance... It's true for DataContext
, but only because the dependency property has the FrameworkPropertyMetadataOptions.Inherits
flag in its metadata.
So the ContentControl should do it with its descendant elements right?
ContentControl
is a bit special: the DataContext
of its descendants (the visual tree built from the DataTemplate
) is actually be the Content
of the ContentControl
. So if your ContentControl
has no content, the DataContext
inside it is null.