繁体   English   中英

如何在Windows Phone 7.1应用程序中将行动态添加到gridview?

[英]How to add rows to gridview dynamically in windows phone 7.1 application?

在我的Windows Phone 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}">

但我想动态添加行。 由于这是静态的,因此我无法向其中添加行。 还有其他方法可以动态添加行 有人可以帮我吗?

您必须使用ListBox控件并将其模板化为自己的喜好。 ListBox还包括UIVitualization等功能,可帮助处理更大的数据集。

如前所述,您可以将ListBox与数据模板一起使用以控制每一行的外观。 例:

<ListBox ItemsSource="{Binding Source={StaticResource searchResultIM}, Path=Data}" ItemTemplate="{StaticResource SearchItemTemplate}" />

将上面的ListBox元素放在“电话”页面的LayoutRoot(通常是Grid控件)中。 在列表框中,您将引用在资源部分中定义的要使用的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>

模板的数据上下文将是您在结果中得到的对象的类型。 因此,YourDataProperty1等可能是该resultObject的属性。

希望能帮助到你! /安德斯

为Windows Phone构建适用于Silverlight的DataGrid控件

http://www.silverlightshow.net/items/Building-a-DataGrid-Control-for-Silverlight-for-Windows-Phone-Part-1.aspx

这很适合完美地创建动态表的方式,使用列表框的问题是如果内容转到Windows Phone上,那么使用列表框创建表就不容易了。 此网格控件具有许多功能,可以帮助像我这样的新手。 它完全直观

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM