SelectedIndex не обновляет WPF TabControl с помощью двойного щелчка, но обновляет при нажатии кнопки - PullRequest
0 голосов
/ 18 мая 2018

Итак, у меня есть элемент управления вкладкой:

<TabControl x:Name="tabControl" Grid.Column="1" BorderThickness="0" Margin="0,-2,0,0" Padding="0" SelectedIndex="{Binding SelectedIndex, Mode=TwoWay, UpdateSourceTrigger=Explicit}">

с набором данных datacontext для модели представления, содержащей:

        private int _selectedIndex;
        public int SelectedIndex
        {
            get
            {
                return _selectedIndex;
            }
            set
            {
                _selectedIndex = value;
                OnPropertyChanged("SelectedIndex");
            }
        }

На одной из вкладок у меня есть страницакоторый берет модель представления из элемента управления вкладкой в ​​качестве контекста данных:

<Frame Source="Example.xaml" DataContext="{Binding}" LoadCompleted="Frame_LoadCompleted" DataContextChanged="Frame_DataContextChanged"/>

Внутри этой страницы у меня есть DataGrid, содержащий список элементов с набором событий двойного щелчка:

  <i:Interaction.Triggers>
    <i:EventTrigger EventName="MouseDoubleClick">
      <i:InvokeCommandAction Command="{Binding Path=DataContext.OpenExampleCommand, RelativeSource={RelativeSource FindAncestor, AncestorType=Page}}" />
    </i:EventTrigger>
  </i:Interaction.Triggers>

И кнопка ниже:

Если я перехватываю команду 'OpenExampleCommand', оба вызывают один и тот же метод, который обновляет значение SelectedIndex.Однако элемент управления вкладкой изменяется только на другой индекс с помощью нажатия кнопки, двойной щелчок никогда не обновляет элемент управления вкладкой.

Если я сделаю перерыв в изменении выбранного индекса, дважды щелкните сетку данных и затем нажмите кнопку, пока кнопка не изменила выбранный индекс, я вижу, что он уже был изменен двойным щелчком.

Итак, мой вопрос: почему не корректно обновляется элемент управления вкладками?Оба уведомляют точно так же?

...