Мне нужно создать элемент управления, который имеет одну постоянную вкладку («home»), а все остальные вкладки можно прокручивать.
Сейчас я пытаюсь достичь этого результата, создав подкласс TabControl, добавив дополнительную кнопку (которая выглядит как вкладка) к переопределенному шаблону и устанавливая SelectedIndex
в -1
при каждом нажатии кнопки. Когда SelectedIndex
равно -1
, триггер вызывает привязку ContentControl TabControl к содержимому специальной вкладки «Главная». По сути, я имитирую поведение реальной вкладки и отменяю возможность отмены выбора всех вкладок при этом.
Кажется, это работает, за исключением двух проблем:
- Выберите пример вкладки # 3, затем выберите дом. Затем попробуйте снова выбрать вкладку № 3. Вкладка № 3 не отвечает.
- Выберите вкладку # 3, затем выберите дом. Затем попробуйте использовать меню, которое находится в том же окне. Когда я иду в меню, # 3 снова появляется как выбранная вкладка.
В этот момент я пытался прослушать все виды событий, связанных с TabControl, но ни одно из них, похоже, не дает мне того, с чем я могу работать, чтобы обойти это поведение.
Есть ли что-то, что позволит мне переопределить поведение по умолчанию SelectedIndex
? Должен ли я делать это по-другому? В идеале я хотел бы получить какой-то способ собрать коллекцию вкладок, которая позволяет визуально разделять вкладки, не теряя основной функциональности TabControl.