-2

以前に選択した行をきれいにする方法は?

特定のIDを持つアイテムを検索するこのメソッドがあります。

   private void TreeView_OnSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
    {

        foreach (MessageFieldViewModel rowItem in Datagrid.ItemsSource)
        {

            if (_mainWindowModel != null)
                _mainWindowModel.SelectedMessageElement = (MessageElementViewModel)e.NewValue;

            var row = Datagrid.ItemContainerGenerator.ContainerFromItem(rowItem) as DataGridRow;

            if (_mainWindowModel != null && _mainWindowModel.SelectedMessageElement != null)
            {
                if (rowItem.Id == _mainWindowModel.SelectedMessageElement.Id)
                {
                    if (row != null)
                        row.Background = Brushes.DarkSalmon;
                }

                row.Background.ClearValue();
            }
            // if (item != null) row.Background.ClearValue(rowItem.Id);
            //  break;
        }

これにより、指定された ID の行が選択されます。しかし、別のIDを選択したい場合は、以前のIDがまだ選択されています。以前に選択した ID を削除して、新しく選択した ID のみを表示するにはどうすればよいですか?

4

1 に答える 1