如何从XAML(WPF)访问DataContext中的变量?

如何从XAML(WPF)访问DataContext中的变量?,wpf,wpf-controls,binding,wpfdatagrid,Wpf,Wpf Controls,Binding,Wpfdatagrid,例如,我在CodeBehind中有一个数组,我想将它绑定到XAML中的DataGridComboBox 首先,我知道我必须将数组放在DataContext中(ok),但是我如何从XAML访问数组呢 我如何在DataGridComboBox中引用来将数组中的项绑定到ComboBox中 我的问题是使用DataContext,我无法真正理解如何使用DataContext。在WPF中,DataContext只是为XAML中的绑定表达式提供根路径的对象 因此,当您设置DataContext时,可能在代码背

例如,我在CodeBehind中有一个数组,我想将它绑定到XAML中的DataGridComboBox

首先,我知道我必须将数组放在DataContext中(ok),但是我如何从XAML访问数组呢

我如何在DataGridComboBox中引用来将数组中的项绑定到ComboBox中


我的问题是使用DataContext,我无法真正理解如何使用DataContext。

在WPF中,DataContext只是为XAML中的绑定表达式提供根路径的对象

因此,当您设置DataContext时,可能在代码背后,例如:

string[] DataArray = new[] { "John", "Peter", "Paul" };`
this.DataContext = DataArray;
您可以从XAML访问它,如:

现在,您正通过DataContext属性访问DataArray上的Count属性

如果需要特定数组元素,可以指定索引:

如果要将数组用作支持集合的元素的源,请执行以下操作:

绑定表达式的任何参数都不会直接访问DataContext,在本例中是数组


希望有帮助

好的,我已经拿起你们的例子并试过了,这对我来说开始有意义了。但是现在,想象一下如果不是一个数组,而是一个数据表。假设我加载了一个DataTable,其中只有数据库表中的一列,我想将该列的所有值作为项目放在ComboBox中,我如何在ComboBox中引用以获取单元格中的所有值?如何:不,我无法从列中获取内容,它将在ComboBox中显示“System.Data.Row”。我认为解决方案是将值从DataTable传递到字符串数组,然后将其传递到DataContext。好的,这适用于组合框,但不适用于DataGridComboBox。请尝试: