- •Приложение и класс Application
- •. Компоновка (Layout)
- •Элементы управления Обзор элементов управления
- •Visibility
- •Элементы управления содержимым
- •Специальные контейнеры
- •Декораторы
- •ViewBox
- •Текстовые элементы управления
- •Элементы управления списками
- •Элементы, основанные на диапазонах значений (Range Controls)
- •Элементы для работ с датами
- •Остальные элементы управления
- •Модель событий в wpf
Элементы управления Обзор элементов управления
Все элементы управления или контролы наследуются от общего класса System.Window.Control и могут быть условно разделены на несколько подгрупп:
Элементы управления содержимым, например кнопки (Button), метки (Label)
Специальные контейнеры, которые содержат другие элементы, но в отличие от элементов Grid или Canvas не являются контейнерами компоновки - ScrollViewer,GroupBox
Декораторы, чье предназначение создание определенного фона вокруг вложенных элементов, например, Border или Viewbox.
Элементы управления списками, например, ListBox, ComboBox.
Текстовые элементы управления, например, TextBox, RichTextBox.
Элементы, основанные на диапазонах значений, например, ProgressBar, Slider.
Элементы для работ с датами, например, DatePicker и Calendar.
Остальные элементы управления, которые не вошли в предыдущие подгруппы, например, Image.
Некоторые общие свойства
Name
Наверное важнейшее свойство. По установленному имени впоследствии можно будет обращаться к элементу как в коде, так и в xaml разметке.
Margin
Это свойство устанавливает отступы вокруг элемента. Синтаксис: Margin="левый_отступ верхний_отступ правый_отступ нижний_отступ". Например, установим отступы у кнопки слева и сверху равными 10:
<Button Background="Blue" Width="40" Height="40" Margin ="10 10 0 0"/>
Если мы зададим свойство таким образом: Margin="20", то сразу установим отступ для всех четырех сторон.
Padding
Если свойство Margin задает отступ элемента управления от внешнего контейнера, то свойство Padding задает отступ содержимого некоторого элемента от границ этого элемента. Синтаксис аналогичен: Padding="левый_отступ верхний_отступ правый_отступ нижний_отступ". Вообщем свойства Margin и Padding аналогичны используемым одноимненным атрибутам в html
Размеры и выравнивание
Width и Height - устанавливают ширину и высоту элемента. Также MinWidth и MinHeight и MaxWidth и MaxHeight устанавливают минимально и максимально допустимые ширину и высоту элемента.
VerticalAlignment - выравнивает элемент по вертикали и принимает следующие значения: Bottom, Center, Stretch, Top.
HorizontalAlignment - выравнивает элемент по вертикали и принимает следующие значения: Center,Left, Right, Stretch.
Visibility
Это свойство устанавливает параметры видимости элемента и может принимать одно из трех значений:
Visible - элемент виден и участвует в компоновке.
Collapsed - элемент не виден и не участвует в компоновке.
Hidden - элемент не виден, но при этом участвует в компоновке.
Различия между Collapsed и Hidden можно продемонстрировать на примере:
?
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <StackPanel Grid.Column="0" Background="Lavender"> <TextBlock Visibility="Collapsed">Панель Collapsed</TextBlock> <Button Height="20" Content="Visible Button" /> </StackPanel> <StackPanel Grid.Column="1" Background="LightGreen"> <TextBlock Visibility="Hidden">Панель Hidden</TextBlock> <Button Height="20" Content="Visible Button" /> </StackPanel> </Grid> |

Content Alignment
Выравнивание содержимого внутри элемента задается свойствами HorizontalContentAlignment (выравнивание по горизонтали) и VerticalContentAlignment (выравнивание по вертикали), аналогичны свойствам VerticalAlignment/HorizontalAlignment.
Flow Direction
Данное свойство задает направление текста. Если оно равно RightToLeft, то текст начинается с правого края, если - LeftToRight, то с левого.
?
|
1 2 3 4 |
<StackPanel> <TextBlock FlowDirection="RightToLeft">RightToLeft</TextBlock> <TextBlock FlowDirection="LeftToRight">LeftToRight</TextBlock> </StackPanel> |

Свойства настройки шрифтов
FontFamily - определяет имя шрифта.
FontSize - определяет высоту шрифта.
FontStyle - определяет наклон шрифта, принимает одно из трех значений - Normal, Italic,Oblique.
FontWeight - определяет толщину шрифта и принимает ряд значений, как Black,Bold и др.
FontStretch - определяет, как будет растягивать или сжимать текст, например, значение Condensed сжимает текст, а Expanded - расстягивает.
Cursor
Это свойство позволяет нам получить или установить курсор для элемента управления в одно из значений, например, Hand, Arrow, Wait и др. Установка курсора в коде
Button1.Cursor=Cursors.Hand;
Panel.ZIndex
Это свойство определяет позиционирование элементов относительно других, так элементы с большим индексом могут накладываться и перекрывать другие элементы с меньшим индексом.
?
|
1 2 3 4 5 |
<Grid> <Button Width="60" Height="30" Panel.ZIndex="2" Margin="10 10 0 0">Один</Button> <Button Width="60" Height="30" Panel.ZIndex="1" Margin="45 45 0 0">Два</Button> <Button Width="60" Height="30" Panel.ZIndex="0" Margin="75 75 0 0">Три</Button> </Grid> |

Цвета фона и шрифта
Свойства Background и Foreground задают соответственно цвет фона и текста элемента управления. Общий синтаксис задания свойств: Backround="Blue" или Background="#ffffff".
