点击单个单元格时,如何突出显示整个DataGrid行? [英] How can I highlight an entire DataGrid row when a single cell is clicked?

查看:148
本文介绍了点击单个单元格时,如何突出显示整个DataGrid行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个DataGrid定义如下。当我单击DataGrid中的单元格时,只有单元格突出显示。如何更改它,以便当我单击单元格整个行被突出显示?

 < DataGrid Name =fileGrid AutoGenerateColumns =FalseHeight =150Width =Auto
Margin =10,10,0,0
Horizo​​ntalAlignment =LeftVerticalAlignment =TopSelectionChanged =fileGrid_SelectionChanged> ;
< DataGrid.Columns>
< DataGridTextColumn Header =公司名称
x:Name =columnCompanyName
Binding ={Binding Path = Customer.CompanyName}
IsReadOnly =True>
< / DataGridTextColumn>

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

< DataGridTextColumn标题=客户地址
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>


解决方案

你尝试过 DataGrid SelectionMode =SingleSelectionUnit =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


I have a DataGrid defined as follows. When I click a cell in the DataGrid only the cell is highlighted. How can I change it so that when I click the cell the entire row is highlighted?

<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>

解决方案

Have you tried <DataGrid SelectionMode="Single" SelectionUnit="FullRow"> ?

But actually its the default behavior if i click a cell the entire row is highlighted

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

这篇关于点击单个单元格时,如何突出显示整个DataGrid行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆