1

用 C# 编写的 Metro 应用程序的默认“拆分视图”模板使用标记中的ItemTemplate属性ListView。我刚刚开始使用 XAML 和 C#,所以还是有点不知所措。

我知道ItemsSource用于向视图提供数据集合,但我对如何ListView知道从这些模型类中显示什么感到有些困惑。这是由ItemTemlate? 有一段代码:

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

我不太了解那行的大部分内容。这些选项在哪里SnapList*定义?是否提供了可用模板的列表,或者这些都在某个地方定义了我的项目?是否SnapListItemTemplate寻找一组特定的 ivars 来显示?这个模板可以改变或“子类化”吗?

例如,模型类上有许多属性,例如title,subtitle等。我很好奇它是如何ListView知道提取这些特定值的,以及它是如何知道将它们布置出来的。如果我想将subtitleivar的名称更改为subtext怎么办?项目模板如何更新?

4

1 回答 1

3

SnapList*模板应该在您的项目中的某个地方定义。

绑定{StaticResource ...}意味着模板/样式或通常在某些 XAML 文件中定义的任何内容。

如果您在项目 ( Ctrl++ Shift)F中搜索它们应该出现的名称,可能在一个名为Styles.xaml.

于 2011-12-10T16:46:53.247 回答