1

我有以下数据网格

<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Header="Registro" Binding="{Binding NumeroRegistro}"    />
<DataGridTextColumn Header="Nome" Binding="{Binding Nome}" Width="*" />
<DataGridTextColumn Header="Login" Binding="{Binding Login}" Width="200" />
<DataGridTemplateColumn Width="30"  >
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Button Name="btnEditarFisioterapeuta" CommandParameter="{Binding Id}" Click="btnEditarFisioterapeuta_Click">
                <Rectangle>
                    <Rectangle.Fill>
                        <VisualBrush Visual="{StaticResource appbar_page_edit}" />
                    </Rectangle.Fill>
                </Rectangle>
            </Button>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

而且,在后面的代码中,我像这样填充数据网格的项目

dgFisioterapeuta.ItemsSource = listOfEntities;

没什么特别的。请注意,我Id将实体的 绑定在 中Button,以便在后面的代码中我可以获取它Id并编辑实体。我想知道,如果整体DataGrid绑定到实体列表,为什么不将整个实体传递为CommandParameter

有没有办法做到这一点?

换句话说,我想换行

<Button Name="btnEditarFisioterapeuta" CommandParameter="{Binding Id}" >

到这样的事情。

<Button Name="btnEditarFisioterapeuta" CommandParameter="{Binding The_binding_that_represents_the_entity_of_this_row}" >
4

1 回答 1

1

是的,你可以这样做,这很简单:

<Button Name="btnEditarFisioterapeuta" CommandParameter="{Binding}">

(请注意,当您编写它时{Binding Id},它是 的简写{Binding Path=Id},因此要获取整个实体,您只需排除路径。)

于 2012-09-20T00:59:18.423 回答