我有这个问题:
我有一个用户控件,其中包含: 1)DataGrid
<DataGrid x:Name="GrdHistoricalInformation"
Style="{StaticResource BaseDataGridStyle}"
SelectedIndex="0"
ItemsSource="{Binding BarList}"
HorizontalScrollBarVisibility="Auto"
BorderThickness="1"
BorderBrush="Black"
HorizontalAlignment="Stretch"
CanUserSortColumns="False"
DockPanel.Dock="Top"
ColumnHeaderHeight="50"
SelectedItem="{Binding SelectedBar, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
2)一个用户控件,其中包含一些在我的视图模型上触发命令的单选按钮。
我的问题是,当我选择一行然后我按下一个单选按钮时,网格上的所选项目会丢失“突出显示”(即使我在视图模型中正确绑定了所选项目)
这里我选择一行:
然后当我按下RB失去焦点时
由于mvvm模式,我无法在解决方案中使用事件。
任何建议或帮助都会非常有用!提前谢谢。
编辑:
尝试这种风格:
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="True" />
<Condition Property="Selector.IsSelectionActive" Value="False" />
</MultiTrigger.Conditions>
<Setter Property="Background" Value="#660066"/>
</MultiTrigger>
</Style.Triggers>
但仍然没有工作。
答案 0 :(得分:2)
请改为尝试:
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#660066" />
<Setter Property="BorderBrush" Value="#660066" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
答案 1 :(得分:1)
DataGridRow有两种视觉状态:Normal_Selected和Unfocused_Selected。看来你的风格没有在Unfocused_Selected中定义任何颜色。