C# 数据绑定到Gridview
当我尝试将数据绑定到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">
<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。