usar manipular example ejemplos como c# wpf xaml datagrid

manipular - datagridview c# example



Agregar informaciĆ³n sobre herramientas personalizada para remar en DataGrid (3)

Yo uso DataGrid.RowStyle para configurar la información sobre herramientas.

Mis objetos enlazados tienen una propiedad ToolTipText que contiene el contenido de la ToolTip .

<DataGrid.RowStyle> <Style TargetType="DataGridRow"> <Setter Property="ToolTip"> <Setter.Value> <TextBlock Text="{Binding ToolTipText}" /> </Setter.Value> </Setter> </Style> </DataGrid.RowStyle>

Me gustaría personalizar mi DataGrid para mostrar una información sobre herramientas dentro de la fila seleccionada, por favor vea las imágenes de la maqueta a continuación para una mejor idea de lo que quiero lograr.

Tal como está en este momento : muestra una sola fila seleccionada:

Cómo me gustaría : muestra la misma fila seleccionada, ahora con información sobre herramientas:

  • My DataGrid usa Binding al ViewModel.
  • Trabajando con WPF & C # para el escritorio de Windows.

Realmente no tengo idea de cómo lograr esto, así que estoy abierto a cualquier sugerencia.


Puede usar RowDetailsTemplate .

Aquí hay un código de muestra:

<DataGrid Name="grid" AutoGenerateColumns="False"> <DataGrid.RowDetailsTemplate> <DataTemplate> <TextBlock Background="Orange" Text="{Binding MoreInfo}" TextWrapping="Wrap" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> </DataTemplate> </DataGrid.RowDetailsTemplate> <DataGrid.Columns> <DataGridTextColumn Header="ID" Binding="{Binding ID}" /> <DataGridTextColumn Header="ID" Binding="{Binding Name}" /> <DataGridTextColumn Header="ID" Binding="{Binding Surname}" /> </DataGrid.Columns> </DataGrid>


Otra forma simple de agregar una información sobre herramientas en una fila en una cuadrícula de datos es la siguiente.

Utilice el evento LodingRow y agregue su información sobre herramientas de esta manera:

private void grdItemlogs_LoadingRow(object sender, DataGridRowEventArgs e) { if (e.Row != null) { string toolTipText = "Your Tooltip string content" e.Row.ToolTip = toolTipText; } }