我有一个数据网格,它绑定(bind)到我的 ViewModel 上的一个集合。当窗口加载时,将填充数据网格并设置 SelectedItem。 (我知道这一点是因为我有一个绑定(bind)到所选项目的详细 View 。)但是该行未突出显示。如果我单击该行,它将突出显示并正常工作。
如何使选定行在默认选择时突出显示?
<DataGrid IsSynchronizedWithCurrentItem="True" SelectionUnit="FullRow" RowHeaderWidth="0" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible" IsReadOnly="True" ItemsSource="{Binding Items}" SelectedItem="{Binding Path=SelectedItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Run Date" Binding="{Binding Path=RunDate, StringFormat={}{0:MM-dd-yy HH:mm:ss} }" />
<DataGridTextColumn Header="Description" Binding="{Binding Description}" />
<DataGridTextColumn Header="Duration" Binding="{Binding Duration}" />
<DataGridTextColumn Header="Deviation" Binding="{Binding Deviation}" />
</DataGrid.Columns>
</DataGrid>
最佳答案
您只需要一种样式来告诉您如何处理 SelctedItem
<Style x:Key="SomeStyle" TargetType="{x:Type DataGridRow}" >
<Style.Triggers>
<Trigger Property="DataGridRow.IsSelected" Value="True">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
然后将它应用到 xaml
datagrid
<DataGrid RowStyle="{StaticResource SomeStyle}"...
关于c# - MVVM Datagrid 第一行默认选中但未突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25486648/