C# 动态添加列的DataGrid绑定

C# 动态添加列的DataGrid绑定,c#,wpf,xaml,datagrid,C#,Wpf,Xaml,Datagrid,我有一个可观察的集合“AnswerProbabilities”,我可以成功地将列表框绑定到它: <ListBox ItemsSource="{Binding AnswerPossibilities}" DisplayMemberPath="Text" /> 网格显示“标题1”,但缺少“应答可能性”,网格为空 DataGrid的XAML是 <DataGrid Name="dataGrid" local:DataGridColumnsBehavior.BindableColumn

我有一个可观察的集合“AnswerProbabilities”,我可以成功地将列表框绑定到它:

<ListBox ItemsSource="{Binding AnswerPossibilities}" DisplayMemberPath="Text" />
网格显示“标题1”,但缺少“应答可能性”,网格为空

DataGrid的XAML是

<DataGrid Name="dataGrid"
local:DataGridColumnsBehavior.BindableColumns="{Binding ColumnCollection}"
AutoGenerateColumns="False"/>


我已经尝试将DisplayMemberPath=“Text”添加到DataGrid,但这并没有改变任何事情。在电网运行了半天之后。。我将非常感谢任何帮助

看起来AnswerProbabilities是您要将ListBox/DataGrid绑定到的集合。为列创建绑定时,需要在ObservableCollection中指定要绑定到的项的属性

尝试按以下方式进行更改:

DataGridTextColumn column = new DataGridTextColumn()
{
    Header = "Header 1",
    Binding = new System.Windows.Data.Binding("Text")
};
ColumnCollection.Add(column);

也许您想要一个绑定到集合的带有
ItemsSource
DataGridComboBoxColumn
?您从何处获得
DataGridColumnsBehavior
?您是否确保您的数据库连接字符串正确?嗨,Angela,当绑定到列表框时,我看到了所有“答案可能性”。所以数据确实在那里..是的,我从我的原始帖子的链接中得到了DataGridColumnsBehavior。更改为DataGridComboxColumn&ItemsSource无效:o(您好,KornMuffin,是的,AnswerPossibilities是我想用作绑定源的集合,是的,“Text”是“AnswerPossibility”的属性我想显示的。对于您的代码,根本没有对AnswerPoabilities的引用?您需要设置DataGrid的ItemsSource=“{Binding AnswerPoabilities}”。
DataGridTextColumn column = new DataGridTextColumn()
{
    Header = "Header 1",
    Binding = new System.Windows.Data.Binding("Text")
};
ColumnCollection.Add(column);