Вопрос по xaml, c#, datagrid, wpf – Как выделить всю строку DataGrid при нажатии на одну ячейку?

8

У меня есть DataGrid, определенный следующим образом. Когда я щелкаю ячейку в DataGrid, выделяется только ячейка. Как я могу изменить его, чтобы при нажатии на ячейку выделялась вся строка?

<code><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>
</code>
Я пытался найти свойство Row, связанное с ячейкой, но его нет. Все, что я могу найти, это свойства столбца. DaveDev

Ваш Ответ

2   ответа
22

<DataGrid SelectionMode="Single" SelectionUnit="FullRow"> ?

Но на самом деле это поведение по умолчанию, если я щелкаю ячейку, выделяется вся строка

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

Спасибо - это именно так. Мне нужно подождать 4 минуты, чтобы выбрать правильный ответ. DaveDev

Похожие вопросы