<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        解析WPF綁定層次結(jié)構(gòu)數(shù)據(jù)的應(yīng)用詳解

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:41:02
        文檔

        解析WPF綁定層次結(jié)構(gòu)數(shù)據(jù)的應(yīng)用詳解

        解析WPF綁定層次結(jié)構(gòu)數(shù)據(jù)的應(yīng)用詳解:在實際項目應(yīng)用中會存在多種類型的層次結(jié)構(gòu)數(shù)據(jù),WPF提供了良好的數(shù)據(jù)綁定機(jī)制。其中運用最頻繁的就是ListBox和TreeView控件。一、ListBox和TreeView控件的區(qū)別1.ListBox顯示單層次數(shù)據(jù)集合,TreeView可以顯示單層次和多層次數(shù)據(jù)集合;2.通過ListBox
        推薦度:
        導(dǎo)讀解析WPF綁定層次結(jié)構(gòu)數(shù)據(jù)的應(yīng)用詳解:在實際項目應(yīng)用中會存在多種類型的層次結(jié)構(gòu)數(shù)據(jù),WPF提供了良好的數(shù)據(jù)綁定機(jī)制。其中運用最頻繁的就是ListBox和TreeView控件。一、ListBox和TreeView控件的區(qū)別1.ListBox顯示單層次數(shù)據(jù)集合,TreeView可以顯示單層次和多層次數(shù)據(jù)集合;2.通過ListBox

        在實際項目應(yīng)用中會存在多種類型的層次結(jié)構(gòu)數(shù)據(jù),WPF提供了良好的數(shù)據(jù)綁定機(jī)制。其中運用最頻繁的就是ListBox和TreeView控件。

        一、ListBox和TreeView控件的區(qū)別
        1.ListBox顯示單層次數(shù)據(jù)集合,TreeView可以顯示單層次和多層次數(shù)據(jù)集合;
        2.通過ListBox在UI層面可以展示良好的數(shù)據(jù)顯示效果,對數(shù)據(jù)集合可以進(jìn)行排序、分組、過濾操作;
        3.TreeView顯示為一個多層次的數(shù)據(jù)集合為樹形結(jié)構(gòu),通過Templete和Style屬性同樣可以為其定義良好的數(shù)據(jù)顯示效果;

        二、ListBox控件示例
        1.ListBox綁定數(shù)據(jù)進(jìn)行分組:
        使用ListBox.GridStyle標(biāo)簽,定義HeaderTemplate屬性用來定義組頭的外觀:
        代碼如下:
        代碼
         <ListBox ItemSource="{Binding Path=Data}">
          <ListBox.GridStyle>
              <GroupStyle.HeaderTemplate>
                   <DataTemplate>
                         <Stackpanel>
                                  <Image Source="xxx.jpg"/>
                                   <Label Content="C:"/>
                          <Stackpanel>
                   </DataTemplate>
              </GroupStyle.HeaderTemplate>
          </ListBox.GridStyle>
         ......
          </ListBox>

        這樣就可以創(chuàng)建出類似WINDOWS 文件管理器的效果:
          

        2.Listbox一些使用經(jīng)驗:
        /1 如果要實現(xiàn)類似WINDOWS的漂亮的界面效果并進(jìn)行分組,需要自定義GroupStyle的樣式,否則WPF會使用內(nèi)建的GroupStyle,也可以引用GroupStyle.Default靜態(tài)屬性。
        /2 ListBox只能定義一層數(shù)據(jù)結(jié)構(gòu),在ListBox中的Item里再次使用ListBox,后ListBox里的ItemSource不會繼承上一層ListBox的Item源中的數(shù)據(jù)集合,如有如下數(shù)據(jù)集合:
        代碼如下:
        public List<Groups> groups = new List<Groups>();groups.Add(new Group);........

        代碼如下:
        public class Group {
                public int Id { get; set; }
                public string Name { get; set; }
                private List<Box> boxes = new List<Box>();
                public List<Box> Boxes {
                    get { return boxes; }
                }
            }

        Listbox的ItemSource Binding List<Groups>的數(shù)據(jù)集合,其Item中的ListBox Binding List<Box>,則Item中的ListBox是無法獲取List<Box>這個數(shù)據(jù)集合的;

        三、TreeView控件示例
        1.有如上數(shù)據(jù)集合,使用TreeView綁定多層數(shù)據(jù)集合:
        代碼如下:
        代碼
         <TreeView x:Name="maintree" FocusVisualStyle="{x:Null}" ItemsSource="{Binding Groups}">
                     <TreeView.ItemContainerStyle>
                         <Style TargetType="{x:Type TreeViewItem}">
                             <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
                             <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
                             <Setter Property="FontWeight" Value="Normal" />
                             <Style.Triggers>
                                 <Trigger Property="IsSelected" Value="True">
                                     <Setter Property="FontWeight" Value="Bold"/>
                                 </Trigger>
                             </Style.Triggers>
                         </Style>
                     </TreeView.ItemContainerStyle>
                     <TreeView.Resources>
                         <HierarchicalDataTemplate DataType="{x:Type m:GroupVO}" ItemsSource="{Binding Boxes}">
                             <StackPanel Orientation="Horizontal">
                                 <Label Content="{Binding Path=FriendlyName}"></Label>
                                 <CheckBox VerticalAlignment="Center" IsChecked="{Binding Path=IsSelected}"></CheckBox>
                             </StackPanel>                
                         </HierarchicalDataTemplate>              

                         <DataTemplate DataType="{x:Type m:BoxVO}">
                             <Grid Margin="0,5,5,10" MouseDown="maintree_MouseDown" Loaded="Grid_Loaded">
                                 <Grid.RowDefinitions>
                                     <RowDefinition></RowDefinition>
                                 </Grid.RowDefinitions>
                                 <Grid.ColumnDefinitions>
                                     <ColumnDefinition Width="*"></ColumnDefinition>
                                     <ColumnDefinition Width="6*"></ColumnDefinition>
                                 </Grid.ColumnDefinitions>
                                 <Image Source="/Resources/Images/shgbit.png" Width="50" VerticalAlignment="Top" Grid.Column="0" Grid.Row="0"></Image>
                                     <Label Grid.RowSpan="2" Grid.Row="0" Grid.Column="0" Margin="5,5,0,0" Content="{Binding Path=FriendlyName}"></Label>
                         </DataTemplate>
                     </TreeView.Resources>
                 </TreeView>

        HierarchicalDataTemplate屬性為層級數(shù)據(jù)模板,它繼承數(shù)據(jù)集合的層級結(jié)構(gòu),要表示樹的層級依賴關(guān)系必須使用HierarchicalDataTemplate。
        屬性綁定數(shù)據(jù)使用TwoWay是為雙向?qū)傩裕?dāng)源數(shù)據(jù)或目標(biāo)被改變是更新另一方的數(shù)據(jù)。在層次樹表示中的典型應(yīng)用就是:用CheckBox進(jìn)行子節(jié)點的選中和未選中的狀態(tài)傳遞。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        解析WPF綁定層次結(jié)構(gòu)數(shù)據(jù)的應(yīng)用詳解

        解析WPF綁定層次結(jié)構(gòu)數(shù)據(jù)的應(yīng)用詳解:在實際項目應(yīng)用中會存在多種類型的層次結(jié)構(gòu)數(shù)據(jù),WPF提供了良好的數(shù)據(jù)綁定機(jī)制。其中運用最頻繁的就是ListBox和TreeView控件。一、ListBox和TreeView控件的區(qū)別1.ListBox顯示單層次數(shù)據(jù)集合,TreeView可以顯示單層次和多層次數(shù)據(jù)集合;2.通過ListBox
        推薦度:
        標(biāo)簽: 應(yīng)用 運用 WPF
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久久亚洲AV波多野结衣| 黑人大战亚洲人精品一区| 亚洲视频在线观看地址| 高清一区二区三区免费视频| 亚洲色偷偷偷鲁综合| 精品国产污污免费网站入口| 国产精品亚洲精品日韩已方| a一级毛片免费高清在线| 亚洲另类激情综合偷自拍图| 中出五十路免费视频| 亚洲天堂视频在线观看| 69影院毛片免费观看视频在线 | 一级特黄色毛片免费看| 亚洲综合色成在线播放| 大地资源在线资源免费观看| 亚洲嫩模在线观看| 成人免费在线看片| 精品无码专区亚洲| 中文字幕久久亚洲一区| 精品一区二区三区免费 | 亚洲乱色伦图片区小说| 免费国产精品视频| 久久九九免费高清视频| 亚洲精品综合一二三区在线| 麻豆一区二区免费播放网站| 偷自拍亚洲视频在线观看| 亚洲真人日本在线| 精品国产免费人成电影在线观看| 亚洲精品无码av片| 亚洲一级特黄无码片| 91精品免费高清在线| 99热亚洲色精品国产88| 亚洲精品A在线观看| 最近免费中文字幕高清大全 | 国产一级淫片a免费播放口之| 成人网站免费大全日韩国产 | 亚洲av乱码一区二区三区按摩| 亚洲一区二区精品视频| 很黄很黄的网站免费的| 一进一出60分钟免费视频| 亚洲高清资源在线观看|