【问题标题】:Selected Row on WPF Datagrid LostFocus mvvm PatternWPF Datagrid LostFocus mvvm 模式上的选定行
【发布时间】:2013-12-30 14:15:02
【问题描述】:

我有这个问题:

我有一个用户控件,其中包含: 1) 数据网格

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

但还是不行。

【问题讨论】:

    标签: c# wpf xaml mvvm datagrid


    【解决方案1】:

    试试这个:

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

    【讨论】:

      【解决方案2】:

      DataGridRow 有 2 种视觉状态:Normal_Selected 和 Unfocused_Selected。看来您的样式在 Unfocused_Selected 中没有定义任何颜色。

      【讨论】:

      • 有道理!无论如何,我尝试这样做(我已经用示例更新了帖子)但仍然无法正常工作,您能否提供一个示例来说明如何为 Unfocused_Selected 状态设置样式?或任何方法?非常感谢。
      • 我明白了,您没有实现完整的模板。您只能访问模板中的视觉状态。见下文,这是一种不同的方式。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 2011-05-31
      • 2013-03-10
      • 2021-03-01
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多