如何在Windows Phone 7中运行时将Gridview与数据绑定?

时间:2012-02-21 17:13:51

标签: silverlight windows-phone-7 gridview windows-phone-7.1 observablecollection

在表格创建中,由于表格超出了电话视图,因此列表框方法不适合我的项目需要。 Gridview非常适合。但是我不知道如何在运行时添加行。有人可以帮我吗?

namespace myApp
{
    public class Person
    {
        public string Id { get; set; }
        public string Name { get; set; }

        public Person(string dId, string dName)
        {
            this.Id = dId;
            this.Name = Name;            
        }
    }
}

这是我的XAML代码:

 <Grid x:Name="LayoutRoot" Background="Transparent">
        <gridView:GridView x:Name="GridView1" CellSpacing="1" RowSpacing="1" ItemsSource="{Binding}">
            <gridView:GridView.Columns>
                <gridView:GridViewTextColumn Header="ID" Binding="{Binding} />
                <gridView:GridViewTextColumn Header="Name" Binding="{Binding}"/>

            </gridView:GridView.Columns>
        </gridView:GridView>
    </Grid>

要创建静态,我没有问题,我为person对象(例如personVM)创建了 viewmodel ,并且我创建了静态资源(在XAML中)到该对象并与我的gridview绑定。

<phone:PhoneApplicationPage.Resources> 
<local:PersonViewModel x:Key="PersonVM"/> 
</phone:PhoneApplicationPage.Resources>    

<gridView:GridView x:Name="GridView1" CellSpacing="1" RowSpacing="1" ItemsSource="{Binding Source={StaticResource PersonVM}, Path=Data}"
>

如何动态执行此操作? (它可以通过* observablecollection来完成?) *我不能用datacontext。

GridView1.DataContext = new Person("S403","Arthos"); 

它无法正常工作。如何在代码中识别列。请帮助我。

1 个答案:

答案 0 :(得分:0)

为Silverlight for Windows Phone构建DataGrid控件

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

这适合完美地创建动态表的方法,使用列表框的问题是如果内容是beyind windows phone,那么使用listbox创建表就不容易了。然后我找不到任何方法来找到动态访问网格视图。

这个(链接)网格控件有很多功能可以帮助像我这样的新手。它非常直观。