如何从 XAML (WPF) 访问 DataContext 中的变量?
例如,我在 CodeBehind 中有一个数组,我想将其绑定到 XAML 中的 DataGridComboBox。
首先,我知道我必须将数组放入 DataContext(ok),但是我如何从 XAML 访问数组?
我如何在 DataGridComboBox 中进行引用以将数组中的项目绑定到 ComboBox 中?
我的问题是使用 DataContext,我无法真正理解如何使用 DataContext。
For example, i have an array in CodeBehind, that i want to bind to a DataGridComboBox in XAML.
First, i know i have to put the array in the DataContext(ok), but then how i access the array from XAML?
And how i make reference in the DataGridComboBox to bind the items from the array into the ComboBox?
My problem is working with DataContext, i can't really understand how to work with the DataContext.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 WPF 中,DataContext 只是为 XAML 中的绑定表达式提供根路径的对象。
因此,当您设置 DataContext 时,也许在代码隐藏中,例如:
您可以从 XAML 访问它,例如:
您现在正在访问凭借 DataContext 属性,DataArray 上的 Count 属性。
如果您想要特定的数组元素,您可以指定一个索引:
如果您想使用数组作为源支持集合的元素:
绑定表达式没有参数,只需直接访问 DataContext(在本例中为数组)。
希望有帮助!
In WPF, the DataContext is simply the object that provides the root path for Binding Expressions in the XAML.
So when you set DataContext, perhaps in the code-behind like:
You can access it from the XAML like:
<TextBox Text="{Binding Path=Count}" />
You are now accessing the Count property on DataArray, by virtue of the DataContext property.
If you wanted a particular array element, you could specify an index:
<TextBox Text="{Binding Path=[0]}" />
If you wanted to use the array as the source to an element that supports a collection:
<ItemsControl ItemsSource="{Binding}" />
No arguments to a binding expression simply accesses DataContext directly, in this case, an array.
Hope that helps!