Чтение онлайн

на главную

Жанры

Язык программирования C#9 и платформа .NET5
Шрифт:

<Separator/>

<ComboBox x:Name="comboColors" Width="175" Margin="10,0,0,0">

<ComboBoxItem Content="Red"/>

<ComboBoxItem Content="Green"/>

<ComboBoxItem Content="Blue"/>

</ComboBox>

<Separator/>

Элемент управления RadioButton

В данном примере

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

Класс

RadioButton
имеет свойство
IsChecked
, значения которого переключаются между
true
и
false
, когда конечный пользователь щелкает на элементе пользовательского интерфейса. К тому же элемент управления
RadioButton
предоставляет два события (
Checked
и
Unchecked
), которые можно применять для перехвата такого изменения состояния.

Добавление кнопок сохранения, загрузки и удаления

Финальным элементом управления внутри

ToolBar
будет
Grid
, содержащий три элемента управления
Button
. Поместите после последнего элемента управления
Separator
следующую разметку:

<Grid>

<Grid.ColumnDefinitions>

<ColumnDefinition Width="Auto"/>

<ColumnDefinition Width="Auto"/>

<ColumnDefinition Width="Auto"/>

</Grid.ColumnDefinitions>

<Button Grid.Column="0" x:Name="btnSave" Margin="10,10"

Width="70" Content="Save Data"/>

<Button Grid.Column="1" x:Name="btnLoad" Margin="10,10"

Width="70" Content="Load Data"/>

<Button Grid.Column="2" x:Name="btnClear" Margin="10,10"

Width="70" Content="Clear"/>

</Grid>

Добавление элемента управления InkCanvas

Финальным элементом управления для

TabControl
является
InkCanvas
. Поместите показанную ниже разметку после закрывающего дескриптора
ToolBar
, но перед закрывающим дескриптором
StackPanel
:

<InkCanvas x:Name="MyInkCanvas" Background="#FFB6F4F1" />

Предварительный

просмотр окна

Теперь все готово к тестированию программы, для чего понадобится нажать клавишу <F5>. Должны отобразиться три взаимно исключающих переключателя, раскрывающийся список с тремя элементами и три кнопки (рис. 25.17).

Обработка событий для вкладки Ink API

Следующая задача для вкладки

Ink API
связана с организацией обработки события
Click
для каждого элемента управления
RadioButton
. Как вы поступали в других проектах WPF, просто щелкните на значке с изображением молнии в окне Properties среды Visual Studio и введите имена обработчиков событий. С помощью упомянутого приема свяжите событие
Click
каждого элемента управления
RadioButton
с тем же самым обработчиком по имени
RadioButtonClicked
. После обработки всех трех событий
Click
обработайте событие
SelectionChanged
элемента управления
ComboBox
, используя обработчик по имени
ColorChanged
. В результате должен получиться следующий код С#:

public partial class MainWindow : Window

{

public MainWindow

{

this.InitializeComponent;

// Вставить сюда код, требуемый при создании объекта.

}

private void RadioButtonClicked(object sender,RoutedEventArgs e)

{

// TODO: добавить сюда реализацию обработчика событий.

}

private void ColorChanged(object sender,SelectionChangedEventArgs e)

{

// TODO: добавить сюда реализацию обработчика событий.

}

}

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

Добавление элементов управления в панель инструментов

Вы добавите элемент управления

InkCanvas
путем прямого редактирования разметки XAML. Имейте в виду, что панель инструментов Visual Studio по умолчанию не отображает все возможные компоненты WPF, но содержимое панели инструментов можно обновлять.

Щелкните правой кнопкой мыши где-нибудь в области панели инструментов и выберите в контекстном меню пункт Choose Items (Выбрать элементы). Вскоре появится список возможных компонентов для добавления в панель инструментов. Вас интересует элемент управления

InkCanvas
(рис. 25.18).

Поделиться:
Популярные книги

Как я строил магическую империю 7

Зубов Константин
7. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 7

Афганский рубеж 2

Дорин Михаил
2. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Афганский рубеж 2

Вперед в прошлое!

Ратманов Денис
1. Вперед в прошлое
Фантастика:
попаданцы
5.00
рейтинг книги
Вперед в прошлое!

Золушка по имени Грейс

Ром Полина
Фантастика:
фэнтези
8.63
рейтинг книги
Золушка по имени Грейс

Брак по-драконьи

Ардова Алиса
Фантастика:
фэнтези
8.60
рейтинг книги
Брак по-драконьи

Варлорд

Астахов Евгений Евгеньевич
3. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Варлорд

Седьмая жена короля

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Седьмая жена короля

Мастер 4

Чащин Валерий
4. Мастер
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Мастер 4

Барон диктует правила

Ренгач Евгений
4. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон диктует правила

Опер. Девочка на спор

Бигси Анна
5. Опасная работа
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Опер. Девочка на спор

Тринадцатый IV

NikL
4. Видящий смерть
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Тринадцатый IV

Мастер Разума

Кронос Александр
1. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
6.20
рейтинг книги
Мастер Разума

Кодекс Охотника. Книга XXVI

Винокуров Юрий
26. Кодекс Охотника
Фантастика:
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXVI

(Противо)показаны друг другу

Юнина Наталья
Любовные романы:
современные любовные романы
эро литература
5.25
рейтинг книги
(Противо)показаны друг другу