-1

セマンティック ズーム コントロールの ZoomedOutView ビュー内で、その文字 (灰色) で始まる項目を含まないアルファベット文字を表示するにはどうすればよいですか?

このようなことを達成したい (「ソーシャル」、「お気に入り」、「#」を除く): ここに画像の説明を入力

しかし、私はこれで終わります: ここに画像の説明を入力

以下のコードが問題の場所であることがわかりましたが、何に変更する必要があるかわかりません。何か案は?

internal List<GroupInfoList<object>> GetGroupsByLetter()
        {
            List<GroupInfoList<object>> groups = new List<GroupInfoList<object>>();

            var query = from item in Collection
                        orderby ((Item)item).Station
                        group item by ((Item)item).Station[0] into g
                        select new { GroupName = g.Key, Items = g };
            foreach (var g in query)
            {
                GroupInfoList<object> info = new GroupInfoList<object>();
                info.Key = g.GroupName;
                foreach (var item in g.Items)
                {
                    info.Add(item);
                }
                groups.Add(info);
            }

            return groups;

        }
4

1 に答える 1

1

これは非常に簡単です。

常にすべての文字グループを含める必要があります。

ZoomedInView で、アイテムのないグループが非表示になるように設定します。グリッドビューのプロパティです。ZoomedOutView では、グリッドビュー内のすべてのグループを、子があるかどうかをチェックするコンバーターで表示し、それに応じて色を切り替えます。また、ユーザーが子のないグループをクリックした場合にユーザーに応答しないロジックを追加します。終わり。問題が解決しました。

頑張ってください!

于 2015-02-10T23:59:07.750 に答える