He configurado el elemento de mi WPF Datagrid en una lista de objetos devuelta desde mi DAL. También agregué una columna adicional que contiene un botón, la xaml está debajo.WPF DataGrid - Botón en una columna, obteniendo la fila de la que proviene el controlador de eventos Click
<toolkit:DataGridTemplateColumn MinWidth="100" Header="View">
<toolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="Button_Click">View Details</Button>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellTemplate>
</toolkit:DataGridTemplateColumn>
Esto rinde bien. Sin embargo, en el método Button_Click, ¿hay alguna forma de obtener la fila en la cuadrícula de datos donde reside el botón? Más específicamente, una de las propiedades de mis objetos es "Id", y me gustaría poder pasar esto al constructor de otro formulario en el controlador de eventos.
private void Button_Click(object sender, RoutedEventArgs e)
{
//I need to know which row this button is on so I can retrieve the "id"
}
Tal vez necesito algo extra en mi xaml, o tal vez voy sobre esto de una manera indirecta? Cualquier ayuda/consejo apreciado.
La forma ideal de hacer este tipo de cosas es usando comandos (básicamente el patrón MVVM) puede crear una coma nd en su objeto de datos (ViewModel) y llame a Button.Command, para que no haya ningún código detrás como Button haga clic. –
¿puedes demostrar que haces eso con un comando? –
@JobiJoy: ¿tiene un ejemplo de esto usando un Command/RelayCommand? Estoy intentando algunas cosas pero no puedo hacer que funcione ... – VoodooChild