如何摆脱在 XAML 中的 WPF 绑定中使用 ElementName
我正在构建一个 WPF 应用程序,并且我的窗口代码隐藏中有一些 DependencyProperties(实际上是一大堆)。我想将文本框绑定到这些字符串值之一。如果我使用 {Binding ObjectName}
它就不起作用,并且它会抱怨在输出中找不到该属性。如果我使用 {Binding ObjectName, ElementName=window}
(其中 window
是我的窗口实例名称),它就可以工作。但我有很多绑定,我不想每次都使用 ElementName 属性。是否有任何快捷方式可以将所有元素名称默认为窗口对象,因为我的所有绑定都具有相同的元素?
谢谢, 能。
I am building a WPF application and I have some DependencyProperties in my window's codebehind (actually a big bunch of them). I want to bind a textbox to one of these string values. If I use {Binding ObjectName}
it just doesn't work and it complains about not finding the property in the output. If I use {Binding ObjectName, ElementName=window}
(where window
is my Window's instance name), it works. But I have lots of bindings and I don't want to use the ElementName property each time. Is there any shortcut that will default all the element names to the window objects, as all of my bindings have the same element?
Thanks,
Can.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
绑定的默认源是
FrameworkElement.DataContext
,因此您必须将窗口的DataContext
属性设置为窗口实例,例如DataContext = this;< /代码>
The default source of a binding is
FrameworkElement.DataContext
so you have to set theDataContext
property of your window to the instance of your window e.g.DataContext = this;