我们可以在WPF中的DataGrid单元格中有一个网格吗?

时间:2012-05-22 06:33:50

标签: c# wpf datagrid grid

我要求DataGrid有多行和3列。现在,DataGrid的每个单元格都显示一些信息(6到8个参数)和一个按钮。单击此按钮将显示弹出窗口。

现在要在DataGrid的单元格内显示数据,我需要正确对齐它们并考虑使用Grid。如何实现这一点。

另外,如何在按钮的单击事件中了解单击了哪个单元格按钮?

请帮助。

1 个答案:

答案 0 :(得分:5)

您可以将DataGridTemplateColumn添加到DataGrid,然后为该列定义通常的数据模板:

<DataGrid.Columns>
    <DataGridTemplateColumn Header="Foo" Width="SizeToCells">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Grid>
                       ...
                      <Button Command="{Binding SomeCommand}" />
                    </Grid>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>  
<DataGrid.Columns>

现在关于点击事件。使用项目源绑定网格。该源中的每个项必须是具有任何ICommand属性的视图模型。将此属性绑定到单元格模板中的按钮命令,您将获得它。