gpt4 book ai didi

c# - WPF8/C# - 将数据绑定(bind)到网格

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:31 24 4
gpt4 key购买 nike

我知道我发布了这个问题,但接受了我上一个问题的答案并阅读了这篇文章后,我意识到这不是我要找的答案。我再次发布了一些示例代码。

我想用集合中的数据填充网格(不是数据网格)。这是我所拥有的,但它不起作用。如果我删除集合并将 DataContext 设置为单个对象,它可以工作,但不能作为集合。

XAML

Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel>
<TextBlock Text="{Binding Path=StudentName}" />
</StackPanel>
</Grid>

MainPage.xaml.cs

public MainPage()
{
InitializeComponent();

ObservableCollection<Student> ob = new ObservableCollection<Student>();

ob.Add(new Student()
{
StudentName = "James Jeffery"
});

ob.Add(new Student()
{
StudentName = "Sian Ellis"
});



this.DataContext = ob;

// Sample code to localize the ApplicationBar
//BuildLocalizedApplicationBar();
}

这已经困扰我好几个小时了。我似乎无法用集合填充网格。 Google 上的每个示例都显示了 ListViews 等。我想填充一个网格,并且只填充一个网格。

关于如何实现这一点有什么建议吗?

最佳答案

正如另一个答案中提到的,您需要一个 ItemsControl:

<Window x:Class="MiscSamples.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid IsItemsHost="True" Rows="3" Columns="3"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBox Text="{Binding Name}" Margin="2"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Window>

代码隐藏:

 public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new List<Student>
{
new Student() {Name = "James Jeffery"},
new Student() {Name = "Sian Ellis"},
new Student() {Name = "James Jeffery 2"},
new Student() {Name = "Sian Ellis 2"},
new Student() {Name = "James Jeffery 3"},
new Student() {Name = "Sian Ellis 3"},
};
}
}

输出:

enter image description here

关于c# - WPF8/C# - 将数据绑定(bind)到网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15488773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com