私はおそらくここで些細なことをしているのですが、以下を機能させることができないようです:
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です