Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
847 views
in Technique[技术] by (71.8m points)

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

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).

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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}
    

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...