【发布时间】:2015-07-03 10:26:00
【问题描述】:
我正在使用 WPF DataGrid 来显示数据,当用户选择一行时,我希望整行的背景突出显示(带有渐变)并且还有一个边框。我一直在使用以下代码,大部分情况下都有效:
<Style TargetType="DataGridRow">
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked}" Value="True">
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="{StaticResource BorderColor}" />
<Setter Property="Background" Value="{StaticResource BackgroundColor}" />
</DataTrigger>
</Style.Triggers>
</Style>
我遇到的这个问题与边框有关。如果 BorderThickness 最初设置为 0,则在触发 DataTrigger 时,整个 Row 都会“移动”以为边框腾出空间。如果我最初将 BorderThickness 设置为 1,则突出显示的 Row 会正确显示,但是当 Row 处于默认状态时,它周围有一个空边框,导致 Row 网格线不接触边缘。
关于如何解决这个问题的任何想法?
【问题讨论】:
标签: wpf datagrid border datatrigger