第一种
方法一
第一步:在XAML文件中
<ListView x:Name="lv1" HorizontalAlignment="Left" Height="382" Margin="102,240,0,0" VerticalAlignment="Top" Width="586" RenderTransformOrigin="0.498,-1.5">
<ListView.ItemTemplate>
<DataTemplate>
<!-- DataTemplate标签下只能有一个元素 -->
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding Name}"></TextBox>
<TextBlock Text="{Binding Age}"></TextBlock>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
第二步:在.cs文件中
protected override void OnNavigatedTo(NavigationEventArgs e)
{ //首次进入此页面,此时可以加载数据
if (e.NavigationMode == NavigationMode.New)
{
//Person就是上一篇中定义的
List<Person> list = new List<Person>();
list.Add(new Person { Name = "aaaaaaaaaaaaa", Age = 23 });
list.Add(new Person { Name = "bbbbbbbbbbb", Age = 24 });
list.Add(new Person { Name = "ccccccccccccc", Age = 33 });
lv1.ItemsSource = list; //ItemsSource为界面上显示的数据源
}
}
运行结果:
方法二
第一步:在XAML文件
<!-- ItemsSource的值就等于DataContext的值 -->
<ListView x:Name="lv1" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="382" Margin="102,240,0,0" VerticalAlignment="Top" Width="586" RenderTransformOrigin="0.498,-1.5">
<ListView.ItemTemplate>
<DataTemplate>
<!-- DataTemplate标签下只能有一个元素 -->
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding Name}"></TextBox>
<TextBlock Text="{Binding Age}"></TextBlock>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
第二步:在.cs文件中
protected override void OnNavigatedTo(NavigationEventArgs e)
{ //首次进入此页面,此时可以加载数据
if (e.NavigationMode == NavigationMode.New)
{
//Person就是上一篇中定义的
List<Person> list = new List<Person>();
list.Add(new Person { Name = "aaaaaaaaaaaaa", Age = 23 });
list.Add(new Person { Name = "bbbbbbbbbbb", Age = 24 });
list.Add(new Person { Name = "ccccccccccccc", Age = 33 });
lv1.DataContext= list;
}
}