0

私のメトロ アプリでは、GridView に VariableSizeWrapGrid のグループを表示する必要があります。XAML でこれを行うのは簡単です (ItemsPanelTemplate と GroupStyle を作成することにより)。しかし、C# コード ビハインドで同じことを行う方法はありますか。

4

1 に答える 1

1

ここから:

using System;
using System.Windows;
using System.Windows.Data;

namespace GroupingSample
{
    public partial class Window1 : System.Windows.Window
    {

        public Window1()
        {
            InitializeComponent();
        }

        CollectionView myView;
        private void AddGrouping(object sender, RoutedEventArgs e)
        {
            myView = (CollectionView)CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
            if (myView.CanGroup == true)
            {
                PropertyGroupDescription groupDescription
                    = new PropertyGroupDescription("@Type");
                myView.GroupDescriptions.Add(groupDescription);
            }
            else 
                return;
        }

        private void RemoveGrouping(object sender, RoutedEventArgs e)
        {
            myView = (CollectionView)CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
            myView.GroupDescriptions.Clear();
        }
    }
}

ここで重要なのは、 からデフォルト ビューを取得し、そのItemsSource上にグループ化を設定することです。この行:

myView = (CollectionView)CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
于 2012-08-21T16:42:27.207 に答える