Программирование >>  Windows foundation 

1 ... 12 13 14 [ 15 ]


Несомненно, на этом примере вы видите преимущества отделения внешнего вида элементов управления от его поведения. Возможно, у вас уже появилось множество идей относительно способов отображения ваших элементов в списке, которые больше отвечают требованиям, предъявляемым к вашему приложению. Может быть, вы просто хотите отобразить столько элементов, сколько уместится в окне, позиционируя их горизонтально, а затем продолжая на следующей строке вертикально. И здесь на помощь приходит WrapPanel. И, конечно, вы можете поместить WrapPanel внутрь шаблона ListBox, как показано в listBoxStyle3. На рис. 34.31 продемонстрирован результат применения WrapPanel.

<Style x:Key= listBoxStyle3 TargetType= {x:Type ListBox} > <Setter Property= Template > <Setter.Value>

<ControlTemplate TargetType= {x:Type ListBox} > <ScrollViewer VerticalScrollBarVisibility= Auto

HorizontalScrollBarVisibility= Disabled > <WrapPanel IsItemsHost= True /> </ScrollViewer> </ControlTemplate> </Setter.Value> </Setter>

<Setter Property= ItemTemplate > <Setter.Value> <DataTemplate> <Grid>

<Grid.ColumnDefinitions>

<ColumnDefinition Width= 140 /> </Grid.ColumnDefinitions> <Grid.RowDefinitions>

<RowDefinition Height= 60 />

<RowDefinition Height= 30 />

</Grid.RowDefinitions>

<Image Grid.Row= 0 Width= 48 Margin= 2,2,2,1

Source= {Binding ImagePath} /> <TextBlock Grid.Row= 1 FontSize= 14 HorizontalAlignment= Center

Margin= 5 Text= {Binding Name} />

</Grid> </DataTemplate> </Setter.Value> </Setter> </Style>

В следующей главе вы узнаете больше о DateTemplate с функциональностью привязки данных.


Рис. 34.30. Внешний вид ListBox, стилизованный с помощью listBoxStyle2


Рис. 34.31. Результат применения

панели WrapPanel



Резюме

В этой главе был проведен небольшой экскурс по невероятно мощным средствам WPF. WPF позволяет легко разделить работу между разработчиками и дизайнерами. Как Microsoft Expression Blend, так и Visual Studio позволяют работать с кодом XAML. По сравнению со старыми приложениями Windows Forms код XAML обеспечивает лучшее отделение пользовательского интерфейса от стоящей за ним функциональности. Все интерфейсные средства могут быть созданы в XAML, а функциональность - в отделенном коде.

Вы видели много элементов управления и контейнеров, основанных на векторной графике. Благодаря векторной графике, элементы WPF могут масштабироваться, деформироваться и вращаться. За счет гибкости элементов содержимого механизм обработки событий основан на пузырьковом и туннельном распространении событий.

В следующей главе мы продолжим рассмотрением таких средств WPF, как анимации, 3D, привязка данных и ряда других.



1 ... 12 13 14 [ 15 ]

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика