我手动创建一个TextBlock,并通过键入XAML文件将其Text属性绑定到窗口的Title属性,当我编译并运行应用程序时,TextBlock不包含任何文本。这是我输入MainWindow.xaml文件的代码:
<TextBlock Text="{Binding Title, ElementName=window}"/>
但是,如果我使用Visual Studio 2013右侧属性窗口中的“创建数据绑定...”选项,它会输入完全相同的代码,但是当我编译并运行程序时,它可以工作。 ..
我知道我可以这样做才能让它工作但是我有一堆我喜欢复制和粘贴的代码,如果我在这种情况下执行此操作它不起作用。
这似乎是在窗口上执行此操作的唯一属性,因为我可以毫无问题地绑定到窗口的Icon,Background和Foreground属性。
任何人都可以告诉我我做错了什么,或者这是VS2013中的错误?
** 有关未来参考的更多信息 **
显然,当您使用“属性”窗口中的“创建数据绑定...”选项时,它会自动将x:Name="window"
添加到Window控件的代码中。这解释了为什么它在使用菜单时有效,而不是在输入时。
答案 0 :(得分:2)
ElementName
就是:元素的名称。尝试使用x:Name="window'"
在父窗口中设置它。
答案 1 :(得分:0)
设置名称并参考名称
没有弥补 - 我这样做
但我还没有测试过标题
<Window ...
x:Name="_this"