none
TabControl с расширенными возможностями(WPF) RRS feed

  • Вопрос

  • Применяя платформу WPF, встала задача:"Добавить на форму компонент TabControl, разместить в нем страницы(ярлычки) слева и ориентацию наименований ярлычков сделать вертикальную". Начинаю выполнять: 1)добавляю на форму компонент TabControl; 2)изменяю его свойство TabStripPlacement на "Left"(TabStripPlacement="Left") - ярлычки размещаются слева; 3)теперь осталось решить последнюю проблему - установить вертикальную ориентацию наименований ярлычков и вот тут то и возникает огромная проблема. Вроди бы пересмотрел все свойства объекта TabControl, изъял некоторое количество информации из библиотеки MSDN, "но воз и ныне там" - требуемого свойства нет. Полазил в сети с целью найти решение проблемы и на некоторых отечественных и зарубежных ресурсах нашел информацию о том, что TabControl в C# - это что-то на подобии "компьютера без процессора". Пишут, что его возможности крайне ограничены, возникшая предо мной задача вообще с его помощью не решается(невозможно изменить ориентацию текста). Зашел на всем известный сайт CodeProject.Com и нашел там статью "TabStrip Control"(http://www.codeproject.com/KB/tabs/tabstrips.aspx) под авторством Alex. Как понимаю, в данной статье Alex создает свой собственный визуальный компонент TabStrip, который в-принципе подходит для моих нужд. Но он это все писал еще в 2006 году, основываясь на .NET2.0 и технологии WindowsForms, неужели за прошедшие 5 лет корпорация Microsoft не добавила в функционал языка C# платформы WPF компонент, аналогичный TabStrip? Возможно ли как-то решить возникшую передо мной задачу без использования сторонних компонентов и если возможно, то как? Может быть при настройке компонента TabControl я допустил значительные ошибки, из-за которых не удалось выполнить последнее требуемое действие(изменить ориентацию наименований)?
    15 июля 2011 г. 7:44

Ответы

  •  <TabControl Height="100" TabStripPlacement="Left">
          <TabItem Name="tabItem1">
            <TabItem.Header>
              <TextBlock>
                <TextBlock.LayoutTransform>
                  <RotateTransform Angle="270"/>              
                </TextBlock.LayoutTransform>
                Item1
              </TextBlock>
            </TabItem.Header>
            <Grid />
          </TabItem>
        </TabControl>
    

    И никаких сторонних компонент...
    • Предложено в качестве ответа Abolmasov Dmitry 15 июля 2011 г. 10:07
    • Помечено в качестве ответа Maximys33 17 июля 2011 г. 23:29
    15 июля 2011 г. 8:16
    Модератор

Все ответы

  •  <TabControl Height="100" TabStripPlacement="Left">
          <TabItem Name="tabItem1">
            <TabItem.Header>
              <TextBlock>
                <TextBlock.LayoutTransform>
                  <RotateTransform Angle="270"/>              
                </TextBlock.LayoutTransform>
                Item1
              </TextBlock>
            </TabItem.Header>
            <Grid />
          </TabItem>
        </TabControl>
    

    И никаких сторонних компонент...
    • Предложено в качестве ответа Abolmasov Dmitry 15 июля 2011 г. 10:07
    • Помечено в качестве ответа Maximys33 17 июля 2011 г. 23:29
    15 июля 2011 г. 8:16
    Модератор
  • Уважаемый пользователь, пожалуйста не забывайте отмечать ответы, решившие проблему. Это можно сделать, нажав кнопки 'Пометить как ответ' под нужным сообщением.

    Посмотрите вариант, предложенные ulcer. Это скорее всего то, что вам нужно.


    Для связи [mail]
    15 июля 2011 г. 10:07