我可能在这里做了一些简单的错误,但我似乎无法让以下工作:
public MainWindow()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MainWindow_Loaded);
}
public Queue<Player> quePlayers { get; set; }
Random rand = new Random((int)DateTime.Now.Ticks);
public void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
quePlayers = new Queue<Player>();
//quePlayers.Add(new Player() { FullName = Guid.NewGuid().ToString(), Age = rand.Next() % 40, SomeData = Guid.NewGuid().ToString() });
//quePlayers.Add(new Player() { FullName = Guid.NewGuid().ToString(), Age = rand.Next() % 40, SomeData = Guid.NewGuid().ToString() });
//quePlayers.Add(new Player() { FullName = Guid.NewGuid().ToString(), Age = rand.Next() % 40, SomeData = Guid.NewGuid().ToString() });
//quePlayers.Add(new Player() { FullName = Guid.NewGuid().ToString(), Age = rand.Next() % 40, SomeData = Guid.NewGuid().ToString() });
//quePlayers.Add(new Player() { FullName = Guid.NewGuid().ToString(), Age = rand.Next() % 40, SomeData = Guid.NewGuid().ToString() });
quePlayers.Enqueue(new Player() { FullName = Guid.NewGuid().ToString(), Age = rand.Next() % 40, SomeData = Guid.NewGuid().ToString() });
quePlayers.Enqueue(new Player() { FullName = Guid.NewGuid().ToString(), Age = rand.Next() % 40, SomeData = Guid.NewGuid().ToString() });
quePlayers.Enqueue(new Player() { FullName = Guid.NewGuid().ToString(), Age = rand.Next() % 40, SomeData = Guid.NewGuid().ToString() });
quePlayers.Enqueue(new Player() { FullName = Guid.NewGuid().ToString(), Age = rand.Next() % 40, SomeData = Guid.NewGuid().ToString() });
quePlayers.Enqueue(new Player() { FullName = Guid.NewGuid().ToString(), Age = rand.Next() % 40, SomeData = Guid.NewGuid().ToString() });
dgTest.ItemsSource = quePlayers;
//dgTest.ItemsSource = CollectionViewSource.GetDefaultView(dgTest.ItemsSource);
}
如果我将该队列更改为列表,网格中将显示数据,但队列和堆栈不会合作
dgTest.Items属性有5个成员,我回来的CollectionView是EnumerableCollectionView,我可以枚举它并查看
中的5个成员我的XAML也是微不足道的
<DataGrid x:Name="dgTest" AutoGenerateColumns="True" />
知道什么是错的吗?队列实现IEnumerable,而ItemsSource的唯一要求是IEnumerable
答案 0 :(得分:2)
我的猜测是AutoGenerateColumns。尝试手动设置一列。