在我的窗口手机7.1应用程序(Silverlight应用程序,使用VS 2010 Express for Windows phone的c#语言)我创建了gridview以表格格式显示我的数据(搜索结果)。我创建了一个类,并将该gridview绑定到该类。这是我的xaml代码:
<phone:PhoneApplicationPage.Resources>
<local:searchResultItemModel x:Key="searchResultIM"/>
</phone:PhoneApplicationPage.Resources>
<gridView:GridView x:Name="GridView1" CellSpacing="1" RowSpacing="1" SelectedItemChanged="GridViewSelectedItemChanged" Margin="26,16,25,22" ItemsSource="{Binding Source={StaticResource searchResultIM}, Path=Data}">
但我想动态添加行。由于这是静态的,我无法向其添加行。是动态添加行的另一种方法。请问有人帮帮我吗?
答案 0 :(得分:0)
您必须使用ListBox控件并根据自己的喜好对其进行模板化。 ListBox还包括一系列功能,如UIVitualization,可以帮助处理更大的数据集。
答案 1 :(得分:0)
如上所述,您可以使用带有datatemplate的ListBox来控制每行的外观。例如:
<ListBox ItemsSource="{Binding Source={StaticResource searchResultIM}, Path=Data}" ItemTemplate="{StaticResource SearchItemTemplate}" />
将上面的ListBox元素放在您的Phone页面中的LayoutRoot(通常是Grid控件)中。在ListBox中,您将引用要在资源部分中定义的ItemTemplate(定义为DataTemplate),例如:
<DataTemplate x:Name="SearchItemTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding YourDataProperty1}" />
<TextBlock Text="{Binding YourDataProperty2}" Grid.Column="1" />
</Grid>
</DataTemplate>
模板的datacontext将是您在结果中获得的对象类型。所以YourDataProperty1等可能是该结果对象的属性。
希望它有所帮助! /安德斯
答案 2 :(得分:0)
为Silverlight for Windows Phone构建DataGrid控件
这适合完美地创建动态表的方法,使用列表框的问题是如果内容是beyind windows phone,那么使用listbox创建表就不容易了。这个网格控件有很多功能可以帮助像我这样的新手。它非常直观