Библиотека элементов управления WPF

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

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

Элемент управления Описание Пример XAML кода
Button Представляет собой типичную интерактивную (clickable) кнопку, которую можно найти в большинстве Windows приложений. <Button Name="myButton" BorderBrush="Black" BorderThickness="1" Click="myButtonOnClick" ClickMode="Press">Click Me</Button>
Canvas Определяет область, в рамках которой можно явно расположить дочерние элементы с помощью использования координат, являющихся относительными к области Canvas. <Canvas Background="Black" Height="200" Width="200"> <!-- Child controls --> </Canvas>
ComboBox Представляет собой раскрывающийся список, прокрутив который, пользователь может сделать выбор. <ComboBox Name="myComboBox" SelectionChanged= "myComboBox_SelectionChanged"> <ComboBoxItem>Item a</ComboBoxItem> <ComboBoxItem>Item b</ComboBoxItem> </ComboBox>
Grid Представляет собой гибкую таблицу, которая может содержать несколько столбцов и строк. Как правило, элемент управления Grid используется для расположения дочерних элементов управления. <Grid ShowGridLines="True" Width="200" Height="200"> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition /> </Grid.RowDefinitions> <!-- Child controls --> </Grid>
Label Представляет текстовый блок только для чтения, который можно использовать для отображения некоторого статичного текста. <Label Name="myLabel">Hello</Label>
StackPanel Позволяет стековать дочерние элементы управления по горизонтали или по вертикали. <StackPanel Name="myStackPanel" Orientation="Vertical"> <Label>Item 1</Label> <Label>Item 2</Label> <Label>Item 3</Label> </StackPanel>
TextBox Представляет редактируемые поля, которые можно использовать для отображения и охватывания текста. <TextBox Name="myTextBox"></TextBox>

Следует отметить, что можно также определить элементы управления динамически с помощью Visual C# в файле кода.

Каждый элемент управления в WPF имеет связанный с ним набор свойств, которые можно использовать для определения внешнего вида и поведения элемента управления. Например, большинство элементов управления имеют свойства Height и Width, которые определяют его размеры, и свойство Margin, указывающее, где элемент управления должен появиться относительно элемета управления макета, в котором он содержится.

Свойства элементов управления можно установить следующим образом:

· Декларативно в окне XAML путем редактирования напрямую XAML определения.

· В окне Properties. Такой подход изменяет XAML определение элементов управления.

· Во время выполнения с помощью кода Visual C#. Этот подход не меняет XAML определение элемента управления.

http://go.microsoft.com/fwlink/?LinkId=192886.

События в приложениях WPF

При создании WPF, ASP.NET и Windows Forms приложений Visual Studio 2010, создаюся приложения, управляемые событиями, т.е. выполняющие код в ответ на события. Любая создаваемая форма и элемент управления предоставляют предопределенный набор событий. Когда происходит одно из этих событий, и существует код, связанный с обработчиком этого события, код вызывается.

Указать события, на которые реагирует элемент управления, можно во время разработки путем редактирования XAML определения элемента управления (указав событие и имя метода обработки события для запуска при наступлении события). Кроме того, можно использовать вкладку Events в окне Properties (эта техника автоматически изменяет XAML определение элемента управления). Необходимо предоставить методы, обрабатывающие события с помощью кода в файле кода.

Следующие примеры кода показывают XAML разметку для элемента управления Button с обработчиком события Click и код C#, определяющий обработчик событий. Когда пользователь нажимает кнопку, вызывается метод myButton_Click. Параметры метода myButton_Click определяются WPF и заполняются сведениями о кнопке и событии во время выполнения.

[XAML control declaration]

<Button Name="myButton" Click="myButton_Click">ClickMe</Button>

[Visual C# event handler]

private void myButton_Click(object sender, RoutedEventArgs e)

{

// Code to do something goes here.

}

В следующем примере показано определение обработчика события закрытия окна для элемента управления Window.

[XAML control declaration]

<Window x:Class="WpfApplication1.MainWindow" Name="myWindow"

xmlns="..."

xmlns:x="..."

Title="MainWindow" Height="350" Width="525" Closing="myWindow_Closing">

</Window>

[Visual C# event handler]

private void myWindow_Closing(object sender,System.ComponentModel.CancelEventArgs e)

{

// Code to do something goes here.

}

http://msdn.microsoft.com/en-us/library/ms753115(VS.100).aspx

Наши рекомендации