我要求DataGrid有多行和3列。现在,DataGrid的每个单元格都显示一些信息(6到8个参数)和一个按钮。单击此按钮将显示弹出窗口。
现在要在DataGrid的单元格内显示数据,我需要正确对齐它们并考虑使用Grid。如何实现这一点。
另外,如何在按钮的单击事件中了解单击了哪个单元格按钮?
请帮助。
答案 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属性的视图模型。将此属性绑定到单元格模板中的按钮命令,您将获得它。