C# 数据绑定到Gridview

C# 数据绑定到Gridview,c#,gridview,windows-phone-8.1,C#,Gridview,Windows Phone 8.1,当我尝试将数据绑定到GridView时,它没有显示任何内容 下面是我所指的一段代码: <Grid> <GridView x:Name="gridview" ItemsSource="{Binding Pictures}"> <GridView.ItemTemplate> <DataTemplate x:Name="GridviewItemTemplate">

当我尝试将数据绑定到GridView时,它没有显示任何内容

下面是我所指的一段代码:

<Grid>
    <GridView x:Name="gridview" 
              ItemsSource="{Binding Pictures}">
        <GridView.ItemTemplate>
            <DataTemplate x:Name="GridviewItemTemplate">
                <Grid>
                    <Image Source="{Binding ImageUri}" Height="250" Width="250" />
                    <TextBlock Text="{Binding LocationName}"   HorizontalAlignment="Right"
                                           VerticalAlignment="Bottom" FontSize="12" />
                </Grid>
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>
</Grid>
这是我的代码隐藏代码

public MainPage()
{
    this.InitializeComponent();
}

public IEnumerable<LocationPicture> Pictures
{
    get { return _pictures; }
    set { _pictures = value; }
}

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    CreateDummyList();
}

public void CreateDummyList()
{
    List<LocationPicture> pictures = new List<LocationPicture>();
    pictures.Add(new LocationPicture { 
                     ImageUri = "Images/1.jpg", 
                     LocationName = "location" 
                 });
    pictures.Add(new LocationPicture { 
                     ImageUri = "Images/2.jpg", 
                     LocationName = "location" 
                 });
    pictures.Add(new LocationPicture { 
                     ImageUri = "Images/3.jpg", 
                     LocationName = "location" 
                 });
    _pictures = pictures;
}
我刚刚为GridView创建了一个虚拟列表,并在onNavigatedTo中调用了该方法


但是它在GridView上没有显示任何内容。

我认为您应该执行以下操作:

public MainPage()
{
    this.InitializeComponent();
}

public ObservableCollection<LocationPicture> Pictures
{
    get { return _pictures; }
    set { _pictures = value; }
}

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    CreateDummyList();
}

public void CreateDummyList()
{
    List<LocationPicture> pictures = new ObservableCollection<LocationPicture>();
    pictures.Add(new LocationPicture { ImageUri = "Images/1.jpg", LocationName = "location" });
    pictures.Add(new LocationPicture { ImageUri = "Images/2.jpg", LocationName = "location" });
    pictures.Add(new LocationPicture { ImageUri = "Images/3.jpg", LocationName = "location" });

    _pictures = pictures;       
    this.DataContext = this;
}

但最好将集合移动到ViewModel类并将DataContext绑定到它。有关详细信息,请参见

您需要为网格视图设置datacontext。