将组数据绑定到Gridview windows 8应用商店应用程序
这是我第一个使用XAML的win 8商店应用程序,所以有点不确定。我想将数据绑定到gridview。要做到这一点,我有一个将组数据绑定到Gridview windows 8应用商店应用程序,gridview,windows-8,windows-store-apps,Gridview,Windows 8,Windows Store Apps,这是我第一个使用XAML的win 8商店应用程序,所以有点不确定。我想将数据绑定到gridview。要做到这一点,我有一个 class Category { public int Id { get; set; } public string CategoryName { get; set; } public string IconPath { get; set; } } 在代码背后,我有 protected override void LoadState(Object
class Category
{
public int Id { get; set; }
public string CategoryName { get; set; }
public string IconPath { get; set; }
}
在代码背后,我有
protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
{
// TODO: Assign a bindable collection of items to this.DefaultViewModel["Items"]
Model.Utility util = new Utility();
var categories = util.GetCategoryList(); // this returns List<Category>
this.DefaultViewModel["Items"] = categories;
}
protected override void LoadState(对象导航参数,字典页面状态)
{
//TODO:为此分配可绑定的项集合。DefaultViewModel[“项”]
Model.Utility util=new Utility();
var categories=util.GetCategoryList();//此返回列表
此.DefaultViewModel[“项”]=类别;
}
我的xaml是:
<!-- Horizontal scrolling grid used in most view states -->
<GridView
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemsGridView"
AutomationProperties.Name="Items"
TabIndex="1"
Grid.RowSpan="2"
Padding="116,136,116,46"
ItemsSource="{Binding Source={StaticResource itemsViewSource}}"
ItemTemplate="{StaticResource Standard250x250ItemTemplate}"
SelectionMode="None"
IsSwipeEnabled="false"/>
但是当我运行应用程序时,我看不到任何数据。我哪里做错了 默认情况下,Standard250x250ItemTemplate绑定到属性Title、SubTitle和Image。除非更新了模板,否则您的类别类没有这些属性,因为ItemTemplate没有任何要显示的内容。我怀疑在调试应用程序时会出现数据绑定错误,并表示找不到标题、字幕和图像属性
要更正此问题,请右键单击GridView,选择编辑附加模板,编辑生成的项(ItemTemplate),编辑副本并更新模板,以将正确的元素绑定到类的属性名称。基于代码中的一些名称,看起来您正在尝试为网格应用程序模板重用一些模板代码 我还将假设您在同一个XAML文件中定义了以下资源:
<CollectionViewSource x:Name="itemsViewSource" Source="{Binding Items}" />
<GridView
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemsGridView"
AutomationProperties.Name="Items"
TabIndex="1"
Grid.RowSpan="2"
Padding="116,136,116,46"
ItemsSource="{Binding Source={StaticResource itemsViewSource}}"
SelectionMode="None"
IsSwipeEnabled="false">
<GridView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding CategoryName}" />
</DataTemplate>
</GridView.ItemTemplate>
</GridView>