【问题标题】:How can I highlight an entire DataGrid row when a single cell is clicked?单击单个单元格时,如何突出显示整个 DataGrid 行?
【发布时间】:2012-05-13 21:34:43
【问题描述】:

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

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

【问题讨论】:

  • 我尝试寻找与 Cell 关联的 Row 属性,但没有。我能找到的只是列属性。

标签: c# wpf xaml datagrid


【解决方案1】:

你试过&lt;DataGrid SelectionMode="Single" SelectionUnit="FullRow"&gt;吗?

但实际上,如果我单击一个单元格,整行都会突出显示,这是默认行为

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

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

【讨论】:

  • 谢谢 - 就是这样。我必须等待 4 分钟才能选择此作为正确答案。
【解决方案2】:
猜你喜欢
  • 2012-05-12
  • 2011-05-27
  • 2015-09-03
  • 1970-01-01
  • 2020-04-29
  • 2019-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多