close

Вход

Забыли?

вход по аккаунту

?

Тренинг Введение в разработку

код для вставкиСкачать
Тренинг
Введение в разработку
приложений на Windows
Presentation Foundation
Занятие 4
Шаблоны расположения
Роман Здебский
rzdebski@microsoft.com
http://blogs.msdn.com/roman
Панели
Расширенные панели
Трансформации
Движок шаблонов расположения
Демонстрации
2
3
Панели в WPF
Canvas
StackPanel
WrapPanel
DockPanel
Grid
Колонки и строки
Star Sizing
Свойства, влияющие на расположение
Свойства, связанные с расположением
Демо: Панели
4
Панели отвечают за расположение
элементов
Framework панели:
Canvas
StackPanel
WrapPanel
DockPanel
Grid
5
Top, Left
Top, Right
Y
X
Абсолютное
позиционирование
Bottom,
Left
Bottom, Right
6
Ставит в ряд дочерние элементы
Ориентация:
Vertical
Horizontal
7
Ставит элементы в ряд
Когда элементы не помещаются, они
переносятся
Ориентация:
Horizontal
Vertical
8
Top
Left
Right
Bottom
LastChildFill
9
Column = 0
Column = 1
Column = 2
Row = 0
ColumnSpan = 2
Row = 1
Row = 2
RowSpan = 3
Row = 3
10
Строки определятся:
RowDefinition
Колонки определяются:
ColumnDefinition
Используются GridLength значения:
Высоты строки
Ширины колонки
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height='100' />
<RowDefinition Height=‘Auto'/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width='50' />
<ColumnDefinition Width='100'/>
<ColumnDefinition Width=‘*‘/>
</Grid.ColumnDefinitions>
</Grid>
11
Используются для пропорциональных
значений
Могут быть взвешенными:
12
HorizontalAlignment
VerticalAlignment
Margin
Padding
Text box
Margin - Окантовка
между элементом и
другими дочерними
элементами
Padding Окантовка внутри
элементы
13
Visibility
ClipToBounds
Clip
Panel (Canvas)
Text box
ClipToBounds = “False“
ClipToBounds = “True “
Text
14
15
16
VirtualizingPanel
Специализированные Панели
17
Абстрактный класс, позволяющий
осуществлять виртуализацию
интерфейса
Не включает виртуализацию данных
VirtualizingStackPanel
ListBox
18
19
20
Трансформации в WPF
Render Transforms
Layout Transforms
Демо
21
Framework Transforms:
ScaleTransform
TranslateTransform
SkewTransform
RotateTransform
TransformGroup
Before Transform
Translate
Scale
Skew
Rotate
Scale
Translate
After Transform
22
Все UIElements имеют свойство
RenderTransform
Трансформации RenderTransform не
влияют на расположение
Before Transform
Button 1
Rotate
Button 2
Button 3
Rotate
Rotate
After Transform
23
Все FrameworkElements имеют свойство
LayoutTransform
Трансформации LayoutTransform влияют
на расположение
Before Transform
Button 1
Rotate
Button 2
Button 3
Rotate
Rotate
After Transform
24
25
26
“Шаблон расположения” – это размер и
позиции элементов в пользовательском
интерфейсе
Элементы шаблонов расположения
(Panels):
Содержат коллекцию дочерних элементов
Отвечают за определение их размеров
Отвечают за позиционирование дочерних
элементов
27
1.
2.
Наследуются от Panel
Реализуют MeasureOverride
•
3.
Вызывают Measure каждого дочернего
элемента
Реализуют ArrangeOverride
•
Вызывают Arrange каждого дочернего
элемента
28
public class CustomPanel : Panel
{
protected override Size MeasureOverride(Size availableSize)
{
foreach (UIElement child in InternalChildren)
{
child.Measure(availableSize);
...
}
}
protected override Size ArrangeOverride(Size finalSize)
{
foreach (UIElement child in InternalChildren)
{
child.Arrange(...);
...
}
}
}
29
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
30
Документ
Категория
Презентации
Просмотров
7
Размер файла
3 058 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа