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