Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Неявные шаблоны

Читайте также:
  1. Воздействие 2-го уровня: шаблоны установок громкости.
  2. И ЕСТЬ НЕЯВНЫЕ АКЦЕНТЫ.
  3. Лекция 3. Стили и шаблоны элементов управления WPF.
  4. Неявные пути проникновения ценностей в психологию
  5. Универсальные шаблоны для подготовки к сочинению на лингвистическую тему на ГИА.
  6. Шаблоны электронно-почтовых автоответов

Шаблоны данных позволяют указать формат/разметку отображения не интерфейсных данных и использовать эту разметку в различных местах нашего приложения.

Неявные шаблоны позволяют формировать разметку, базируясь на типе данных. В более ранних версиях технологии необходимо было указывать ключ шаблона, что бы его использовать в нескольких местах приложения. Используя неявные шаблоны, нам необходимо лишь указать, для какого типа данных необходимо использовать шаблон.

Создадим проект и добавим несколько типов данных

public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Title { get; set; }
public string Company { get; set; }
}

public class Employee
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Room { get; set; }
}

Добавим несколько шаблонов данных в ресурсы приложения(файл App.xaml)

<Application
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ImplicitDataTemplate.App"
xmlns:data="clr-namespace:ImplicitDataTemplate">
<Application.Resources>
<DataTemplate DataType="data:Customer" >
<Grid Background="LightSkyBlue">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
Grid.RowDefinitions>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding FirstName,
StringFormat='\{0\} '}"/>
<TextBlock Text="{Binding LastName}"/>
</StackPanel>
<StackPanel Grid.Row="1">
<TextBlock Text="{Binding Title}" FontStyle="Italic"/>
<TextBlock Text="{Binding Company,
StringFormat='Компания: \{0\}'}" FontWeight="Bold"/>
</StackPanel>
Grid>
</DataTemplate>
<DataTemplate DataType="data:Employee" >
<Grid Background="LightGreen" >
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
Grid.RowDefinitions>
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Right">
<TextBlock Text="{Binding FirstName,
StringFormat='\{0\} '}"/>
<TextBlock Text="{Binding LastName}"/>
</StackPanel>
<StackPanel Grid.Row="1" Orientation="Horizontal"
HorizontalAlignment="Right">
<TextBlock Text="{Binding Room,
StringFormat='Комната: \{0\}'}" FontStyle="Italic"/>
</StackPanel>
</Grid>
</DataTemplate>
</Application.Resources>
</Application>

И последний момент, создание тестовых данных в приложении, связывание их с формой

this.DataContext = new List<object>
{
new Customer{ FirstName="Иван", LastName="Копаткинский",
Company="Топинамбур", Title="Бухгалтер"},

new Customer{ FirstName="Дмитрий", LastName="Вирутон",
Company="Пальма туриста", Title="Менеджер"},

new Employee{ FirstName="Павел", LastName="Уловинко", Room=101}
};

и добавление компонента ListBox для отображения списка данных

<Grid x:Name="LayoutRoot" Background="White">
<ListBox ItemsSource="{Binding}"/>
</Grid>

Результат работы:


Рисунок 5.7. Результат применения неявных шаблонов в Silverlight 5.


Дата добавления: 2015-08-13; просмотров: 71 | Нарушение авторских прав


Читайте в этой же книге: Задача 6. | Шаг 1. Применение стиля в XAML документе | Шаг 2. Динамическое применение стилей в коде приложения | Поддержка множества целевых платформ | Built in Types | Ключевые термины | Хронология Silverlight | Повышение полномочий для приложений в браузере | Работа с текстом | Отладка при связывании с данными |
<== предыдущая страница | следующая страница ==>
Улучшенная поддержка шаблона MVVM| Другие изменения

mybiblioteka.su - 2015-2024 год. (0.007 сек.)