Обновите разметку каждого элемента управления TabItem
Header, указывая Ink API, Data Binding и DataGrid. Окно визуального конструктора должно выглядеть примерно так, как на рис. 25.16.Имейте в виду, что выбранная для редактирования вкладка становится активной, и можно формировать ее содержимое, перетаскивая элементы управления из панели инструментов. Располагая определением основного элемента управления TabControl
Построение вкладки Ink API
Первая вкладка предназначена для раскрытия общей роли интерфейса Ink API, который позволяет легко встраивать в программу функциональность рисования. Конечно, его применение не ограничивается приложениями для рисования; Ink API можно использовать для разнообразных целей, включая фиксацию рукописного ввода.
На заметку!
В оставшейся части главы (и в последующих главах, посвященных WPF) вместо применения разнообразных окон визуального конструктора будет главным образом напрямую редактироваться разметка XAML. Хотя процедура перетаскивания элементов управления работает нормально, чаще всего компоновка оказывается нежелательной (Visual Studio добавляет границы и заполнение на основе того, где размещен элемент), а потому приходится тратить значительное время на очистку разметки XAML.Начните с замены дескриптора Grid
TabItem, помеченном как Ink API, дескриптором StackPanel и добавления закрывающего дескриптора. Разметка должна иметь такой вид:
Проектирование панели инструментов
Добавьте (используя редактор XAML) в StackPanel
ToolBar по имени InkToolbar со свойством Height, установленным в 60:Добавьте в Toolbar
RadioButton внутри панели WrapPanel и элемента управления Border:
Content="Ink Mode!" IsChecked="True" />
Когда элемент управления RadioButton
Button! Именно потому элементы управления RadioButton были упакованы в панель WrapPanel.Далее добавьте элемент Separator
ComboBox, свойство Width которого установлено в 175, а свойство Margin — в 10,0,0,0. Добавьте три дескриптора ComboBoxItem с содержимым Red, Green и Blue и сопроводите весь элемент управления ComboBox еще одним элементом Separator:
Элемент управления RadioButton
В данном примере необходимо, чтобы три добавленных элемента управления RadioButton
Класс RadioButton
IsChecked, значения которого переключаются между true и false, когда конечный пользователь щелкает на элементе пользовательского интерфейса. К тому же элемент управления RadioButton предоставляет два события (Checked и Unchecked), которые можно применять для перехвата такого изменения состояния.Добавление кнопок сохранения, загрузки и удаления
Финальным элементом управления внутри ToolBar
Grid, содержащий три элемента управления Button. Поместите после последнего элемента управления Separator следующую разметку:
Width="70" Content="Save Data"/>
Width="70" Content="Load Data"/>
Width="70" Content="Clear"/>
Добавление элемента управления InkCanvas
Финальным элементом управления для TabControl
InkCanvas. Поместите показанную ниже разметку после закрывающего дескриптора ToolBar, но перед закрывающим дескриптором StackPanel:Предварительный просмотр окна
Теперь все готово к тестированию программы, для чего понадобится нажать клавишу <F5
>. Должны отобразиться три взаимно исключающих переключателя, раскрывающийся список с тремя элементами и три кнопки (рис. 25.17).Обработка событий для вкладки Ink API
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT