我有一个 WPF Datagrid 绑定(bind)到我的 ViewModel 中的一些属性
<DataGrid AutoGenerateColumns="False" Name="dataGrid" SelectionMode="Single"
ItemsSource="{Binding ItemList}" SelectedItem="{Binding SelectedItem}">
...
</DataGrid>
当我的窗口加载和 Datagrid 也加载时,我设置了
SelectedItem
它绑定(bind)得很好,但该行没有突出显示。当我单击一行时,该行突出显示,问题就解决了。如何设置/触发
SelectedItem
的突出显示在加载/初始化的 DataGrid 中?编辑:
它实际上是被选中的,因为我有一个小的选择单元格。只是突出显示的渲染不会触发。
最佳答案
我遇到了同样的“问题”,终于找到了一个很好的解决方案。正如您已经说过的,不是没有选择该行,而是它没有突出显示该行。如果您仔细观察,您会注意到,当您单击行中的任意位置(使用鼠标)时,它仍然不会突出显示该行,只有其中的单元格。
所以2个选项;
为此,请在 xaml 文件中的数据网格中添加如下内容:
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="DodgerBlue"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
希望能帮助到你!
干杯,
LTB
关于WPF Datagrid : On load, 选择当前项目(突出显示),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5199717/