1

私は次のDataGridを持っています

<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 に答える