Title="Fun with Panels!" Height="285" Width="325">
Также вспомните, что попытка помещения внутрь области Window
Content окна (или по существу любого потомка ContentControl) может быть присвоен только один объект. Следовательно, приведенная далее разметка XAML приведет к ошибкам разметки и компиляции: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Fun with Panels!" Height="285" Width="325">
FontSize="15" Content="Enter
Information"/>
Понятно, что от окна, допускающего наличие только одного элемента управления, мало толку. Когда окно должно содержать несколько элементов, их потребуется расположить внутри любого числа панелей. В панель будут помещены все элементы пользовательского интерфейса, которые представляют окно, после чего сама панель выступает в качестве единственного объекта, присваиваемого свойству Content
System.Windows.Controls предлагает многочисленные панели, каждая из которых по-своему обслуживает внутренние элементы. С помощью панелей можно устанавливать поведение элементов управления при изменении размеров окна пользователем — будут они оставаться в тех же местах, где были размещены на этапе проектирования, располагаться свободным потоком слева направо или сверху вниз и т.д.Элементы управления типа панелей также разрешено помещать внутрь других панелей (например, элемент управления DockPanel
StackPanel со своими элементами), чтобы обеспечить высокую гибкость и степень управления. В табл. 25.2 кратко описаны некоторые распространенные элементы управления типа панелей WPF.В последующих нескольких разделах вы узнаете, как применять распространенные типы панелей, копируя заранее определенную разметку XAML в редактор Kaxaml, который был установлен в главе 24. Все необходимые файлы XAML находятся в подкаталоге PanelMarkup
Chapter_25. Во время работы с Kaxaml для эмуляции изменения размеров окна нужно изменить высоту или ширину элемента Page в разметке.Позиционирование содержимого внутри панелей Canvas
При наличии опыта работы с Windows Forms панель Canvas
Canvas, то внутреннее содержимое будет невидимым до тех пор, пока контейнер не увеличится до размера, равного или превышающего размер области Canvas.Чтобы добавить содержимое к Canvas
Canvas. Затем для каждого элемента управления необходимо указать левый верхний угол с использованием свойств Canvas.Тор и Canvas.Left; именно здесь должна начинаться визуализация. Правый нижний угол каждого элемента управления можно задать неявно, устанавливая свойства Canvas.Height и Canvas.Width, либо явно с применением свойств Canvas.Right и Canvas.Bottom.Для демонстрации Canvas
SimpleCanvas.xaml в редакторе Kaxaml. Определение Canvas должно иметь следующий вид (в случае загрузки примеров в приложение WPF дескриптор Page нужно будет заменить дескриптором Window): xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Fun with Panels!" Height="285" Width="325">
Width="80" Content="OK"/>
Width="328" Height="27"
FontSize="15" Content="Enter Car Information"/>
Width="193" Height="25"/>
Width="193" Height="25"/>
Content="Pet Name"/>
Width="193" Height="25"/>
В верхней половине экрана отобразится окно, показанное на рис. 25.1.
Обратите внимание, что порядок объявления элементов содержимого внутри Canvas
Canvas.Top, Canvas.Bottom, Canvas.Left и Canvas.Right.