Попытка найти, как отменить TabControl.SelectionChanged в silverlight - PullRequest
2 голосов
/ 02 августа 2011

Я пытаюсь выяснить, как отменить это событие в silverlight, к сожалению, я не нашел никакой полезной ссылки с решением :( (я видел сообщение для wpf, которое, я думаю, больше не доступно для silverlight)

Ответы [ 2 ]

4 голосов
/ 02 августа 2011

Вот его голые кости: -

    bool cancellingTabSelectionChange = false;
    private void tabControl1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (e.RemovedItems.Count > 0 && !cancellingTabSelectionChange)
        {
            cancellingTabSelectionChange = true;
            ((TabControl)sender).SelectedItem = e.RemovedItems[0];
            cancellingTabSelectionChange = false;
        }
    }

Вам необходимо добавить дополнительные критерии, которые позволили бы внести изменения, поскольку приведенный выше код всегда блокировал бы изменение табуляции.

0 голосов
/ 02 августа 2011

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

 private void tabControl1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        tabControl1.SelectedIndex = [index of tab]
    }
...