Data binding WinRT(Win 8)应用商店应用程序XAML绑定相对资源模式查找是否丢失?

Data binding WinRT(Win 8)应用商店应用程序XAML绑定相对资源模式查找是否丢失?,data-binding,winrt-xaml,Data Binding,Winrt Xaml,有人知道XAML绑定中FindAncestor的“新方式”是什么吗?查看RelativeSourceMode(),只剩下引用self或TemplatedParent的选项。FindAncestor不见了。我想知道我使用FindAncestor修复的问题的典型解决方案是什么 致意 Gope为什么不见了?不知道,但我怀疑除了“微软没有足够的时间及时实现所有功能”之外,还有什么解释 一个简单的解决方法是使用ElementName,如下所示: Binding={ ElementName=TheNameO

有人知道XAML绑定中FindAncestor的“新方式”是什么吗?查看RelativeSourceMode(),只剩下引用self或TemplatedParent的选项。FindAncestor不见了。我想知道我使用FindAncestor修复的问题的典型解决方案是什么

致意
Gope为什么不见了?不知道,但我怀疑除了“微软没有足够的时间及时实现所有功能”之外,还有什么解释

一个简单的解决方法是使用ElementName,如下所示:

Binding={ ElementName=TheNameOfTheAncesor, Path=DataContext.TheViewModelProperyIWantToBindTo }
要将x:Name属性添加到希望FindAncestor绑定指向的祖先,请执行以下操作:

<TextBlock x:Name="TheNameOfTheAncestor" />


没有解决此问题的通用解决方案,例如,您无法访问
DataTemplate
中的
ListViewItem
属性,因此无法对选择更改做出优雅的反应。在添加
FindAncestor
之前,您应该为每个特定的案例找到解决方法(我不相信缺席不仅仅是因为时间不够)

是的,它缺失了…:)ElementName适用于简单的场景,但如果控件位于ControlTemplate中,则无法工作,因为每个模板控件的ElementName都不同。这是我在两天内第三次遇到“Microsoft没有足够的时间实现所有功能”的问题。谢谢你,先生,它对我很有效。如果这是XAML,我相信它应该是
{Binding ElementName=…}
而不是
Binding={ElementName=…}
同意,这很糟糕。