我已经开始了解Windows 8商店应用的GridView(XAML)。我已经使用ItemsPage示例尝试查看代码。
我的目标是将其用作水平菜单,在点击事件中它只会打开另一个xaml页面。
我已经编辑了SampleDataSource.cs文件并填写了想要的内容,我认为这样做会更简单,更清晰。此菜单不是动态的,不会改变,所以我正在寻找一种静态添加菜单项的方法。
我可以执行以下操作来添加简单的文本条目;
<x:String>Item 1</x:String>
但我不知道如何绑定某些部分,例如图像和标题元素
是的,我想我更了解这一点。以下代码将尝试绑定到itemsViewSource
<CollectionViewSource
x:Name="itemsViewSource"
Source="{Binding Items}"
d:Source="{Binding AllGroups, Source={d:DesignInstance Type=data:SampleDataSource, IsDesignTimeCreatable=True}}"/>
所以我需要创建一个新列表,例如;
List<String> itemsList = new List<string>();
itemsList.Add("Item 1");
itemsList.Add("Item 2");
唯一的问题是每个项目(行)都需要标题和图像文本字段以及如何将它们绑定到正确的项目。
答案 0 :(得分:0)
如果您的ItemsControl
(GridView
)需要为每个列表项显示多个绑定项 - 您需要将其Source绑定到多于字符串的列表,除非您要解析字符串。在你的情况下,你会有类似
List<TitleAndImageText> itemsList = new List<TitleAndImageText>();
itemsList.Add(new TitleAndImageText { Title = "Title 1", ImageText = "Image Text 1");
itemsList.Add(new TitleAndImageText { Title = "Title 2", ImageText = "Image Text 2");
然后在您的ItemTemplate
/ DataTemplate
中,您将拥有两个TextBlock
- 与项目视图模型的属性绑定,如下所示:Text="{Binding Title}"
,{{1 }}
当然,您需要定义Text="{Binding ImageText}"
,例如
TitleAndImageText