Использование шаблонов элементов XAML с Metro UI - PullRequest
1 голос
/ 08 декабря 2011

Стандартный шаблон «разделенного вида» для приложения Metro, написанного на C #, использует атрибут ItemTemplate в теге ListView.Я только начинаю работать с XAML и C #, так что это все еще немного ошеломляет.

Я понимаю, что ItemsSource используется для предоставления коллекции данных представлению, ноЯ немного озадачен тем, как ListView знает, что отображать из этих классов моделей.Это определяется ItemTemlate?Вот фрагмент кода:

...ItemTemplate="{StaticResource SnapListItemTemplate}" ItemContainerStyle="{StaticResource SnapListTileStyle}" ItemsPanel="{StaticResource SnapListItemsPanelTemplate}"...

Я не совсем понимаю большинство этой строки.Где определены эти SnapList* опции?Предоставлен ли список доступных шаблонов, или все они определены в моем проекте?SnapListItemTemplate ищет определенный набор иваров для отображения?Может ли этот шаблон быть изменен или «подкласс»?

Например, в модельных классах есть ряд свойств, таких как title, subtitle и т. Д. И мне любопытно, как ListView знает, как извлечь эти конкретные значения, а также то, как он знает, как их выложить.Что если я захочу изменить имя subtitle ivar на subtext?Как обновляется шаблон элемента?

1 Ответ

3 голосов
/ 10 декабря 2011

Шаблоны SnapList* должны быть определены где-то в вашем проекте.

Привязка {StaticResource ...}, что означает, что шаблон / стиль или что-то, что обычно определяется в некотором файле XAML.

Если вы ищете в проекте ( Ctrl + Shift + F ) для имен, которые они должны найти, вероятно, в файле с именем Styles.xaml.

...