问题是RelativeSource
在以下情况下不起作用。我用银光5。
//From MainPage.xaml
<Grid x:Name="LayoutRoot" Background="White" Height="100" Width="200">
<Popup IsOpen="True">
<TextBlock Text="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorType=Grid}}" />
</Popup>
</Grid>
//From MainPage.xaml.cs
public MainPage()
{
InitializeComponent();
DataContext = "ololo";
}
如果我在绑定上设置断点,我会得到错误:
System.Exception:BindingExpression_CannotFindAncestor。
如果我使用ElementName=LayoutRoot
而不是RelativeSource
,一切都会好起来的。
为什么相对源绑定不起作用?