How to access Parent's DataContext in Windows 8 store apps

windows-8, windows-runtime, winrt-xaml, wpf, xaml

Solution

I just had the same problem. Presumably this is common??

Here is a crude solution that works:

Bind the Tag property of a top level element to the DataContext

<Grid Name="gridTop" Tag="{Binding}" />

Bind the property you want via ElementName in nested element, ie

{Binding Tag.SomeProp, ElementName=gridTop}

Problem

This is a common situation in XAML based apps (WPF/Silverlight/WinRT). WPF related link -> WPF Databinding: How do I access the "parent" data context? `RelativeSource` with `AncestorType`, and `Mode=FindAncestor` usually comes to rescue in WPF. Both of these are missing in WinRT API. How to access the Parent's (may not be immediate one), `DataContext`? (I am aware of `TemplateBinding`, and `ElementBinding` but both are not suitable mostly in DataTemplate).

Original source

Related problems