2012-05-04 30 views
6

Tengo un DataGrid definido de la siguiente manera. Cuando hago clic en una celda en el DataGrid, solo la celda se resalta. ¿Cómo puedo cambiarlo para que cuando haga clic en la celda se resalte toda la fila?¿Cómo puedo resaltar una fila completa de DataGrid cuando se hace clic en una sola celda?

<DataGrid Name="fileGrid" AutoGenerateColumns="False" Height="150" Width="Auto" 
      Margin="10,10,0,0" 
      HorizontalAlignment="Left" VerticalAlignment="Top" SelectionChanged="fileGrid_SelectionChanged"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Company Name" 
      x:Name="columnCompanyName" 
      Binding="{Binding Path=Customer.CompanyName}" 
      IsReadOnly="True">      
     </DataGridTextColumn> 

     <DataGridTextColumn Header="Customer Surname" 
      x:Name="columnCustomerSurname" 
      Binding="{Binding Path=Customer.Surname}" 
      IsReadOnly="True"> 
     </DataGridTextColumn> 

     <DataGridTextColumn Header="Customer Address" 
      x:Name="columnAddressLine1" 
      Binding="{Binding Path=Customer.Address.Line1}" 
      IsReadOnly="True"> 
     </DataGridTextColumn> 

     <DataGridTextColumn Header="Customer City" 
      x:Name="columnCity" 
      Binding="{Binding Path=Customer.Address.City}" 
      IsReadOnly="True"> 
     </DataGridTextColumn> 

    </DataGrid.Columns> 
</DataGrid> 
+0

he intentado buscar una propiedad asociada a la fila la Celda, pero no hay ninguna. Todo lo que puedo encontrar son propiedades de columna. – DaveDev

Respuesta

19

¿Usted ha intentado <DataGrid SelectionMode="Single" SelectionUnit="FullRow">?

Pero en realidad su comportamiento por defecto si hago clic en una celda se pone de relieve toda la fila

SelectionMode doc: https://msdn.microsoft.com/en-us/library/system.windows.controls.datagridselectionmode%28v=vs.110%29.aspx

SelectionUnit doc: https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.selectionunit%28v=vs.110%29.aspx

+0

Gracias, esto es exactamente eso. Tengo que esperar 4 minutos para seleccionar esto como la respuesta correcta. – DaveDev

Cuestiones relacionadas