您的位置:首頁(yè) > 軟件教程 > 教程 > WPF Samples中的分組示例

WPF Samples中的分組示例

來(lái)源:好特整理 | 時(shí)間:2024-06-17 18:53:16 | 閱讀:80 |  標(biāo)簽: S C   | 分享到:

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)如下:

WPF Samples中的分組示例

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)容如下:

 
    
         
             
                   
              
          
     
 

WPF Samples中的分組示例

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中的分組示例

分組前:

WPF Samples中的分組示例

分組后:

WPF Samples中的分組示例

代碼來(lái)源

[WPF-Samples/Data Binding/Grouping at main · microsoft/WPF-Samples (github.com)]

歡迎關(guān)注微信公眾號(hào):DotNet學(xué)習(xí)交流。

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(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)