Wpf tabitem как переключать с помощью combobox
Перейти к содержимому

Wpf tabitem как переключать с помощью combobox

  • автор:

Элементы управления Windows Forms и эквивалентные элементы управления WPF

Многие элементы управления Windows Forms имеют эквивалентные элементы управления WPF, но некоторые не имеют таковых. В этом разделе сравниваются типы элементов управления, предоставляемые двумя технологиями.

Вы всегда можете использовать взаимодействие для размещения элементов управления Windows Forms, которые не имеют эквивалентов в приложениях на основе WPF.

В следующей таблице показано, какие элементы управления и компоненты Windows Forms имеют аналогичные функциональные возможности среди элементов управления WPF.

элемент управления Windows Forms эквивалентный элемент управления WPF Замечания
BindingNavigator Нет эквивалентного элемента управления.
BindingSource CollectionViewSource
Button Button
CheckBox CheckBox
CheckedListBox ListBox с композицией.
ColorDialog Нет эквивалентного элемента управления.
ComboBox ComboBox ComboBox не поддерживает автоматическое завершение.
ContextMenuStrip ContextMenu
DataGridView DataGrid
DateTimePicker DatePicker
DomainUpDown TextBox и два элемента управления RepeatButton.
ErrorProvider Нет эквивалентного элемента управления.
FlowLayoutPanel WrapPanel или StackPanel
FolderBrowserDialog Нет эквивалентного элемента управления.
FontDialog Нет эквивалентного элемента управления.
Form Window Window не поддерживает дочерние окна.
GroupBox GroupBox
HelpProvider Нет эквивалентного элемента управления. Нет справки F1. Справка «Что это» заменяется всплывающими подсказками.
HScrollBar ScrollBar Прокрутка встроена в контейнерные элементы управления.
ImageList Нет эквивалентного элемента управления.
Label Label
LinkLabel Нет эквивалентного элемента управления. Для размещения гиперссылок в содержимом потока можно использовать класс Hyperlink.
ListBox ListBox
ListView ListView Элемент управления ListView предоставляет сведения только для чтения.
MaskedTextBox Нет эквивалентного элемента управления.
MenuStrip Menu Стилизацию элемента управления Menu можно приблизить к поведению и внешнему виду класса System.Windows.Forms.ToolStripProfessionalRenderer.
MonthCalendar Calendar
NotifyIcon Нет эквивалентного элемента управления.
NumericUpDown TextBox и два элемента управления RepeatButton.
OpenFileDialog OpenFileDialog Класс OpenFileDialog представляет собой оболочку WPF вокруг элемента управления Win32.
PageSetupDialog Нет эквивалентного элемента управления.
Panel Canvas
PictureBox Image
PrintDialog PrintDialog
PrintDocument Нет эквивалентного элемента управления.
PrintPreviewControl DocumentViewer
PrintPreviewDialog Нет эквивалентного элемента управления.
ProgressBar ProgressBar
PropertyGrid Нет эквивалентного элемента управления.
RadioButton RadioButton
RichTextBox RichTextBox
SaveFileDialog SaveFileDialog Класс SaveFileDialog представляет собой оболочку WPF вокруг элемента управления Win32.
ScrollableControl ScrollViewer
SoundPlayer MediaPlayer
SplitContainer GridSplitter
StatusStrip StatusBar
TabControl TabControl
TableLayoutPanel Grid
TextBox TextBox
Timer DispatcherTimer
ToolStrip ToolBar
ToolStripContainer ToolBar с композицией.
ToolStripDropDown ToolBar с композицией.
ToolStripDropDownMenu ToolBar с композицией.
ToolStripPanel ToolBar с композицией.
ToolTip ToolTip
TrackBar Slider
TreeView TreeView
UserControl UserControl
VScrollBar ScrollBar Прокрутка встроена в контейнерные элементы управления.
WebBrowser Frame, System.Windows.Controls.WebBrowser Элемент управления Frame может размещать HTML-страницы.

См. также

  • ElementHost
  • WindowsFormsHost
  • Конструктор WPF для разработчиков Windows Forms
  • Пошаговое руководство. Размещение элемента управления Windows Forms в приложении WPF
  • Пошаговое руководство. Размещение составного элемента управления WPF в форме Windows Forms
  • Миграция и взаимодействие систем

Wpf tabitem как переключать с помощью combobox

Для создания вкладок в WPF, как и в WinForms, предназначен элемент TabControl, а отдельная вкладка представлена элементом TabItem:

 Первая вкладка Вторая вкладка  

Элемент TabItem является элементом управления содержимым, поэтому в него можно вложить другие элементы:

     Смартфоны    iPhone S6 LG G 4 Lumia 550       Планшеты     

Элемент TabControl в WPF

Класс TabItem наследуется от класса HeaderedContentControl, поэтому кроме свойства Content , определедяющее содержимое вкладки, имеет также свойство Header , которое определяет заголовок. И в этот заголовок мы можем вложить различное содержимое, как в примере выше.

И также, как и в случае с ListBoxItem и ComboBoxItem, мы можем вложить в TabControl и другие элементы, которые неявно образуют отдельные вкладки:

 Первая вкладка Вторая вкладка Третья вкладка  

Программное добавление вкладок

Допустим, у нас на форме есть TabControl:

Через код C# добавим в него вкладку:

// формируем содержимое вкладки в виде списка ListBox notesList = new ListBox(); notesList.Items.Add("Macbook Pro"); notesList.Items.Add("HP Pavilion 5478"); notesList.Items.Add("Acer LK-08"); // добавление вкладки products.Items.Add(new TabItem < Header = new TextBlock < Text = "Ноутбуки" >, // установка заголовка вкладки Content = notesList // установка содержимого вкладки >);
  • Глава 1. Введение в WPF
    • Особенности платформы WPF
    • Первое приложение с .NET CLI
    • Первое приложение в Visual Studio
    • Введение в язык XAML
    • Файлы отделенного кода
    • Сложные свойства и конвертеры типов
    • Пространства имен из C# в XAML
    • Введение в компоновку
    • Grid
    • GridSplitter
    • StackPanel
    • DockPanel
    • WrapPanel
    • Canvas
    • Свойства компоновки элементов
    • Обзор элементов управления и их свойств
    • Элементы управления содержимым
    • Кнопки
    • CheckBox и RadioButton
    • Всплывающие подсказки ToolTip и Popup
    • Контейнеры GroupBox и Expander
    • ScrollViewer. Создание прокрутки
    • Текстовые элементы управления
    • Элементы управления списками
    • ListBox
    • ComboBox
    • ListView
    • Создание вкладок и TabControl
    • Меню
    • ToolBar
    • TreeView
    • DataGrid
    • ProgressBar и Slider
    • Работа с датами. Calendar и DatePicker
    • Работа с изображениями. Image и InkCanvas
    • Введение в Dependency Property
    • Прикрепляемые свойства / attached property
    • Создание свойств зависимостей
    • Маршрутизация событий
    • События клавиатуры
    • События мыши и фокуса
    • Основы команд
    • Создание новых команд
    • Обзор кистей
    • Концепция ресурсов в WPF
    • Статические и динамические ресурсы
    • Словари ресурсов
    • Введение в привязку данных
    • Интерфейс INotifyPropertyChanged
    • Форматирование привязки и конвертеры значений
    • Стили
    • Триггеры
    • Темы
    • Класс Application
    • Работа с классом Application
    • Ресурсы приложения
    • Логическое и визуальное дерево
    • Создание и использование шаблонов
    • Визуальные состояния
    • Круглое окно
    • Привязка данных и контекст данных
    • Работа с коллекциями данных. ObservableCollection
    • ItemTemplate и DataTemplate
    • ItemsPanel. Установка панели элементов
    • Виртуализация
    • Провайдеры данных. ObjectDataProvider
    • XmlDataProvider
    • Иерархические данные и HierarchicalDataTemplate
    • Валидация данных
    • Потоковые документы
    • Контейнеры потоковых документов
    • RichTextBox и редактирование документов
    • Фиксированные документы
    • Аннотации
    • Фигуры
    • Пути и геометрии
    • PathGeometry
    • Трансформации
    • Основы работы с трехмерной графикой
    • Определение трехмерного объекта
    • Освещение
    • Камера
    • Создание куба. Текстурирование
    • Трехмерные трансформации и анимации
    • Взаимодействие с трехмерными объектами
    • Основы анимаций
    • Анимация в XAML
    • Анимации по ключевым кадрам
    • Анимация пути
    • Плавность анимации
    • Класс Window
    • Взаимодействие между окнами
    • Диалоговые окна
    • Определение паттерна MVVM
    • Реализация MVVM. ViewModel
    • Команды в MVVM
    • Передача параметров команде
    • Взаимодействие команд и событий
    • Работа с диалоговыми окнами
    • Работа с SQLite через Entity Framework
    • MVVM и SQLite
    • Внедрение зависимостей в приложении WPF

    Помощь сайту
    410011174743222
    Перевод на карту
    Номер карты:
    4048415020898850

    Контакты для связи: metanit22@mail.ru

    Copyright © metanit.com, 2024. Все права защищены.

    WPF TabControl: размещение заголовков

    Вкладки TabControl обычно размещаются в верхней части, и именно так располагаются TabControl по умолчанию в WPF:

    Однако с помощью свойства TabStripPlacement, мы запросто можем изменить это:

    TabStripPlacement можно установить в верхнее (Top), нижнее (Bottom) положение, слева (Left) или справа (Right). Но если выбрать слева или справа мы получим такой результат:

    Лично я ожидал, что в этом случае вкладки будут в повернутом положении, так чтобы текст располагался вертикально, а не горизонтально, но TabControl в WPF так не делает. К счастью, мы можем сделать это сами, с помощью маленького хака:

    Если вы еще не читали главы о шаблонах и стилях, вы можете слегка запутаться, но здесь мы используем стиль для элементов TabItem, в котором переопределяем HeaderTemplate и после этого поворачиваем вкладки. Вкладки слева мы повернули на 270 градусов — если вкладки поместить справа, нужно будет повернуть их на 90 градусов.

    This article has been fully translated into the following languages:

    Is your preferred language not on the list? Click here to help us translate this article into your language!

    WPF TabControl: настройка внешнего вида с помощью стилей

    В одной из наших предыдущих статей мы выяснили как просто настроить внешний вид заголовков WPF TabControl, например, добавлять изображение или цвет текста. Однако, если вы захотите пойти дальше и напрямую влиять на то, как выглядит tab, включая форму и обводку, вам нужно будет переписать шаблон управляющего элемента, что вполне реально, несмотря на то, что это не такой прямолинейный подход, как большинство остальных областей WPF.

    Итак, если вы хотите иметь полный контроль над тем, как выглядит ваш TabControl, изучите следующий пример:

    Как вы можете видеть, это делает TabControl немного похожим на Windows 8, без границ и менее яркого цвета для выделения выбранной вкладки и без фона для невыбранных вкладок. Все это достигается путем изменения шаблона ControlTemplate с использованием стиля. Добавляя элемент управления ContentPresenter , мы указываем, где должно быть размещено содержимое элемента TabItem. У нас также есть пара триггеров, которые управляют цветом фона вкладок на основе свойства IsSelected.

    Если вам требуется более сложное оформление, это так же просто, как изменить шаблон. Например, вам может понадобиться рамка, но с закругленными углами и градиентным фоном — без проблем! Посмотрите на следующий пример, где мы это делаем:

    Как вы можете видеть, я просто добавил элемент управления Border вокруг ContentPresenter, чтобы получить такое оформление. Надеемся, что это продемонстрирует, насколько легко создать вкладки в вашем стиле и сколько возможностей у этой техники.

    This article has been fully translated into the following languages:

    Is your preferred language not on the list? Click here to help us translate this article into your language!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *