1

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

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

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

请帮忙。

4

1 回答 1

5

您可以将 DataGridTemplateColumn(s) 添加到 DataGrid,然后为该列定义常用数据模板:

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

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

于 2012-05-22T07:04:58.227 回答