WPF: пользовательский стиль для TabControl и TabITem - как свернуть заголовок вкладки, если все вкладки свернуты - PullRequest
0 голосов
/ 09 марта 2020

Я делаю собственный стиль для TabControls и TabItems для программы, которую я разрабатываю, и хотел бы знать, возможно ли это сделать, чтобы, если все TabItems в TabControl имеют свойство Visibility="Collapsed", TabPanel TabControl (где отображаются вкладки) может быть свернут или иным образом полностью скрыты. Это, конечно, поведение по умолчанию в TabControls, но, поскольку они используют собственный стиль (поэтому они больше не бесполезны и соответствуют теме приложения), это поведение, похоже, исчезло (вероятно, потому что на данный момент я для свойства Height установлено жестко заданное значение) ... что подводит меня к следующему пункту, высота TabPanel - когда вкладки видны - должна быть на несколько пикселей больше высоты вкладок. Конечно, это затрудняет использование полей, потому что эта дополнительная высота должна быть удалена, если все TabItems свернуты.

Итак, подведем итог, что я собираюсь сделать:

  • TabControl когда любые вкладки не свернуты:
    • TabPanel имеет высоту 26 пикселей (выше, чем элементы TabItems, высота которых составляет 18 пикселей)
  • TabControl при все вкладки свернуты:
    • TabPanel полностью свернут / скрыт с нулевой высотой

Большое спасибо любому из вас, замечательные люди, которые может помочь мне Я работаю с WPF достаточно долго, чтобы зажечь свой мозг, и простое решение этой проблемы ускользает от меня (мне нужен перерыв!)

1 Ответ

0 голосов
/ 09 марта 2020

Ну ладно! Это то, что происходит, когда вы слишком долго работаете с вещами.

Решением было дать поле TabItems, которое задает дополнительную высоту над ними, а затем установить для свойства высоты TabPanel значение Авто внутри TabControl's ControlTemplate. Duh!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...