WPF Samples中的示例 在WPF Samples中有一個(gè)關(guān)于Grouping的Demo。 該Demo結(jié)構(gòu)如下: MainWindow.xaml如下: <Window x:Class="Grouping.MainWindow" xmlns="http://s
WPF Samples中有一個(gè)名為Grouping的演示示例。這個(gè)演示示例的結(jié)構(gòu)如下:
MainWindow.xaml的代碼如下:
http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Grouping"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525" SizeToContent="Height">
...(部分代碼省略)...
其中,使用了XmlDataProvider來(lái)加載和綁定XML數(shù)據(jù):
Pick up Groceries and Detergent
Do Laundry
...(其余XML數(shù)據(jù)省略)...
接著,將MyTasks綁定到ItemsControl:
設(shè)置數(shù)據(jù)模板:
...(部分代碼省略)...
關(guān)于本次介紹的主題Grouping有關(guān)的內(nèi)容如下:
ItemsControl.GroupStyle
獲取定義每個(gè)級(jí)別的組的外觀的GroupStyle對(duì)象集合。
GroupStyle
的結(jié)構(gòu)如下:
public class GroupStyle : INotifyPropertyChanged
{
...(部分代碼省略)...
}
這里設(shè)置了
GroupStyle.HeaderTemplate
,這個(gè)元素定義了分組頭的數(shù)據(jù)模板。數(shù)據(jù)模板決定了分組頭的具體顯示方式。
CollectionViewGroup
類(lèi)表示根據(jù)GroupDescriptions由CollectionView對(duì)象創(chuàng)建的組。
MainWindow.cs如下:
public partial class MainWindow : Window
{
...(部分代碼省略)...
}
只包含兩個(gè)事件處理程序。
進(jìn)行分組的代碼如下:
private void AddGrouping(object sender, RoutedEventArgs e)
{
...(部分代碼省略)...
}
_myView = (CollectionView) CollectionViewSource.GetDefaultView(myItemsControl.ItemsSource);
用于獲取與特定數(shù)據(jù)源關(guān)聯(lián)的默認(rèn)視圖。
接著,
PropertyGroupDescription
類(lèi)描述使用屬性名作為條件對(duì)項(xiàng)進(jìn)行分組。
取消分組將
_myView.GroupDescriptions
清空即可。
該Demo的效果如下:
分組前:
分組后:
[WPF-Samples/Data Binding/Grouping at main · microsoft/WPF-Samples (github.com)]
歡迎關(guān)注微信公眾號(hào):DotNet學(xué)習(xí)交流。
小編推薦閱讀count(*)、count(1)哪個(gè)更快?面試必問(wèn):通宵整理的十道經(jīng)典MySQL必問(wèn)面試題
閱讀從需求分析、產(chǎn)品設(shè)計(jì)到部署交付各階段說(shuō)明
閱讀如何利用七牛云進(jìn)行數(shù)據(jù)備份和刪除
閱讀強(qiáng)化學(xué)習(xí)筆記之【ACE:Off-PolicyActor-CriticwithCausality-AwareEntropyRegularization】
閱讀使用MailKit在.NET Core中收發(fā)郵件的完整示例
閱讀WiFi基礎(chǔ)(六):天線(xiàn)基礎(chǔ)知識(shí)
閱讀OpenAI官方開(kāi)源多智能體框架Swarm,社區(qū)反響熱烈
閱讀Vue-Vben-Admin:功能強(qiáng)大的Vue3后臺(tái)管理系統(tǒng)模板
閱讀流批一體:數(shù)據(jù)領(lǐng)域的熱門(mén)話(huà)題
閱讀深度解析Spring AI:請(qǐng)求與響應(yīng)機(jī)制的核心邏輯
閱讀.NET云原生應(yīng)用實(shí)踐(一):從搭建項(xiàng)目框架結(jié)構(gòu)開(kāi)始
閱讀llama.cpp:一個(gè)適用于中小型研發(fā)企業(yè)的高性能CPU/GPU大語(yǔ)言模型推理框架
閱讀Windows應(yīng)急響應(yīng)-Auto病毒
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]
湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2024 haote.com 好特網(wǎng)