I’m probably doing something trivially wrong here but I can’t seem to get the following to work:
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);
}
If I change that Queue to a List the grid will have data appear in it but Queue and Stack will not cooperate
The dgTest.Items property has 5 members, and the CollectionView I get back is EnumerableCollectionView, which I can enumerate over and see the 5 members within
My XAML is trivial too
<DataGrid x:Name="dgTest" AutoGenerateColumns="True" />
Any idea what’s wrong? Queue implements IEnumerable and the only requirement for ItemsSource is IEnumerable
My guess is the AutoGenerateColumns. Try manually setting one column.