不知道是不是有小伙伴遇到过这样的情况。当我们尝试将一个RelativeSource
从xaml转到code behind时,原本好好的binding表达式居然出现binding错误。
我们来做个实验,我们创建了一个UserControl
里面有一个TextBlock
,其Text
属性绑定了类型为Window的父元素的Title。而我们的window里面的title写了"黄腾霄瘦瘦瘦"这个美好的祝愿。(下面的代码删掉了xmlns)
<UserControl x:Class="WpfApp1.UserControl1">
<Grid>
<TextBlock Name="TextBlock" Text="{Binding RelativeSource={RelativeSource AncestorType=Window},Path=Title}" />
</Grid>
</UserControl>
<Window x:Class="WpfApp1.MainWindow"
Title="黄腾霄瘦瘦瘦" Height="450" Width="800"><