2

私はおそらくここで些細なことをしているのですが、以下を機能させることができないようです:

    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です

4

1 に答える 1

2

私の推測では、AutoGenerateColumnsです。1つの列を手動で設定してみてください。

于 2012-12-12T21:31:01.313 に答える