0

我有一个 WPF 应用程序,它包含一个窗口,里面有一个 DataGrid。在启动时,DataGrid 是完全空的,它的列是在运行时由代码创建的。

我正在绑定到一个 DataTable。第一列是单个文本字段。我需要每行再显示一个单元格,但作为一个堆栈面板,它本身包含一些用户控件。

实际上,我正在尝试首先插入一个空白列作为我的 StackPanel 的占位符,然后将 StackPanel 从代码插入每个单元格。

不幸的是,由于某些原因,我没有让它运行。我无法将新项目放入单元格。有人可以帮我吗?

最好的祝福,

乔纳斯

4

2 回答 2

1

尝试使用 a DataGridTemplateColumn,然后您可以在每个单元格中放置一个堆栈面板

于 2012-04-25T08:38:22.547 回答
1

我建议通过 XAML 设计和填充数据网格。

  • YourItems 是您要显示的对象的集合
  • userControlColumn 是您的用户控件的附加列
  • firstColumn 是您的第一个 DataGridTextColumn

    <DataGrid x:Name="myGrid" ItemsSource="{Binding YourItems}">
        <DataGrid.Columns>
            <DataGridTemplateColumn x:Name="userControlColumn" Header="Column1">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <ns:YourCustomControl/>
                        </StackPanel>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTextColumn x:Name="firstColumn" Header="Columns2" Binding="{Binding YourDesiredProperty}"/>
        </DataGrid.Columns>
    </DataGrid>
    
于 2012-04-25T09:34:12.600 回答