原創|其它|編輯:郝浩|2012-12-05 15:15:51.000|閱讀 555 次
概述:如何在Mindscape WPF Elements中實現排序、過濾和分組呢?本文將通過代碼示例來詳細介紹。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在Mindscape WPF Elements中時如何實現排序、過濾和分組的呢,今天就來分享一下:
網格屬性可以按照以下方式來進行設置:
通過設置一個合適的IComparer排序屬性:
<ms:PropertyGrid Sorting='{x:Static ms:PropertySorting.ByHumanName}'/>
通過設置的BindingView屬性默認視圖的CustomSort屬性。
通過應用SortDescription到BindingView屬性的默認視圖,如下:
屬性網格排序(程序):
SortDescription alphabetical = new SortDescription("Node.HumanName", ListSortDirection.Ascending); ICollectionView view = CollectionViewSource.GetDefaultView(PropertyGrid1.BindingView); view.SortDescriptions.Add(alphabetical); 如果網格的一個實例包含擴展節點,排序描述不傳播到子節點(但自定義排序會),如果使用的是SortDescriptions來進行子節點排序, 在BindingView collection中定位父節點,并應用一個SortDescription到子屬性的默認視圖。
網格屬性可以通過設置BindingView屬性的默認視圖的過濾屬性來過濾,如下所示:
ICollectionView view = CollectionViewSource.GetDefaultView(PropertyGrid1.BindingView); view.Filter = delegate(object obj) { Node node = ((PropertyGridRow)obj).Node; return node.Children.Count == 0; };
屬性可以按照下面的方法來進行分組:
通過設置分組屬性到一個合適的GroupDescription,分組屬性包含了一個預定義的對于按情況分組的GroupDescription。
分組屬性(聲明):
<ms:PropertyGrid Grouping='{x:Static ms:PropertyGrouping.ByCategory}'/>
通過應用一個GroupDescription到綁定窗口屬性的默認視圖,如下所示:
分組屬性(程序):
PropertyGroupDescription byCategory = new PropertyGroupDescription("Node", new NodeToCategoryConverter());
ICollectionView view = CollectionViewSource.GetDefaultView(PropertyGrid1.BindingView);
view.GroupDescriptions.Add(byCategory);
屬性網格控件選擇性的用命令顯示工具欄,比如對于按字母順序排序,或按照類別分組(使用CategoryAttribute),或是搜索過濾設備
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件