Есть ли способ остановить вкладки WPF .NET TabControl смены позиций?

У меня есть VB.NET wpf TabControl (с 8 вкладками - 2 столбца, 4 строки). При нажатии на вкладку активная вкладка всегда переходит в верхнюю строку. Есть ли способ предотвратить это и заблокировать вкладки в позиции, установленной во время разработки? Я не вижу никаких свойств в TabControl или TabItems, которые позволят это.

5
nl ja de
Переопределите шаблон. Шаблон mst содержит эту логику. Посмотрите на оригинальный шаблон.
добавлено автор usr, источник
Что вы имеете в виду 2 столбца 4 ряда?
добавлено автор paparazzo, источник
@BigDaddy Если вы меняете размер, чтобы обрезать заголовки, он делает это. Но я не знаю, сколько строк и столбцов.
добавлено автор paparazzo, источник
Отправьте свой xaml. Трудно представить, что вы описываете. Поведение TabControl по умолчанию не так.
добавлено автор Big Daddy, источник
@Blam ... Я согласен
добавлено автор Big Daddy, источник

1 ответы

Usr правильно; вам нужно будет переопределить шаблон (по крайней мере), если вы хотите использовать TabControl.

Ниже приведен пример переопределения шаблона TabControl: хотите сделать прокручиваемые вкладки для tabcontrol Эта ссылка описывает, как вводить прокручиваемые вкладки, если это вариант, который вы хотели бы рассмотреть. Тем не менее, это, похоже, не отвечает на ваш вопрос.

Другой вариант - написать собственную панель вкладок. Вам все равно придется переопределять шаблон, как в примере, но вместо того, где он говорит «TabPanel», вы ссылаетесь на свою собственную настраиваемую вкладку.

Последний вариант, о котором я могу думать, - это иметь сетку кнопок, в которой каждая кнопка просто изменяет видимый контент, вместо использования TabControl. По сути, вы будете внедрять поддельный TabControl. Это может быть более простой проект, чем попытка переопределить TabPanel, в зависимости от того, что вы делаете.

1
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)