偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

WPF Listbox生成方式介紹

開發(fā) 開發(fā)工具
WPF Listbox控件的使用在我們實際的開發(fā)程序中是一個非常重要的操作。對于初學者來說,我們需要牢固的掌握這些基礎知識。

WPF中,有很多常用的控件可以幫助我們在實際編程中輕松的完成各種圖形界面的相關需求。在這些控件中,有一個叫做WPF Listbox的控件,里面的Item是通過數(shù)據(jù)模板生成的。#t#

WPF Listbox代碼示例如下所示:

  1. < Border Margin="15" 
    BorderBrush="Aqua" BorderThickness="2" 
    Padding="8" CornerRadius="5"> 
  2. < StackPanel> 
  3. < ListBox Name="myListBox" 
    ItemTemplate="{StaticResource 
    myDataTemplate}"
     
  4. IsSynchronizedWithCurrentItem="True"> 
  5. < ListBox.ItemsSource> 
  6. < Binding Source="{StaticResource 
    InventoryData}"
     XPath="Books/Book"/> 
  7. < /ListBox.ItemsSource> 
  8. < /ListBox> 
  9. < Button Margin="10" 
  10. Click="DataTemplateFindElement">
    Get text of textBlock in DataTemplate
    < /Button> 
  11. < /StackPanel> 
  12. < /Border>Listbox使用的數(shù)據(jù)模板如下: 
    < DataTemplate x:Key="myDataTemplate"> 
  13. < TextBlock Name="textBlock" 
    FontSize="14"> 
  14. < TextBlock.Text> 
  15. < Binding XPath="Title"/> 
  16. < /TextBlock.Text> 
  17. < /TextBlock> 
  18. < /DataTemplate> 

使用下面的WPF Listbox代碼就可以獲取數(shù)據(jù)模板里面TextBlock中的內容了。

  1. ListBoxItem myListBoxItem = 
    (ListBoxItem)(myListBox.Item
    ContainerGenerator.Container
    FromItem(myListBox.Items.CurrentItem));  
  2. ContentPresenter myContent
    Presenter
     = FindVisualChild
    < ContentPresenter>(myListBoxItem);  
  3. DataTemplate myDataTemplate 
    myContentPresenter.ContentTemplate;   
  4. TextBlock myTextBlock = 
    (TextBlock)myDataTemplate.
    FindName("textBlock", myContent
    Presenter);  
  5. MessageBox.Show("The text of 
    the named TextBlock in the 
    DataTemplate of the selected 
    list item: " + myTextBlock.
    Text); 

上面代碼調用的函數(shù)如下:

  1. private childItem FindVisualChild< childItem>
    (DependencyObject obj) where childItem 
    : DependencyObject  
  2. {  
  3. for (int i = 0; i <  VisualTreeHelper.
    GetChildrenCount
    (obj); i++)  
  4. {  
  5. DependencyObject child = VisualTree
    Helper
    .GetChild(obj, i);  
  6. if (child != null && child is childItem)  
  7. return (childItem)child;  
  8. else  
  9. {  
  10. childItem childOfChild = FindVisualChild
    < childItem>(child);  
  11. if (childOfChild != null)  
  12. return childOfChild;  
  13. }  
  14. }  
  15. return null;  

以上就是我們?yōu)榇蠹医榻B的WPF Listbox相關概念。

責任編輯:曹凱 來源: 博客園
相關推薦

2009-06-25 17:24:06

Hibernate主鍵

2009-12-28 13:23:19

WPF導出圖片

2009-12-28 16:37:46

WPF異步模式

2009-06-16 11:13:38

Javadoc生成方法Javadoc

2017-07-04 16:18:15

分布式云應用導圖

2010-01-21 17:58:40

VB.NET List

2009-12-28 10:47:58

WPF繪圖

2009-12-29 09:32:27

WPF圖片操作

2009-12-25 10:05:06

WPF資源

2009-12-29 13:29:28

WPF Depende

2009-12-24 10:09:33

WPF事件注冊

2009-12-23 18:06:25

WPF模板

2009-12-24 14:18:57

WPF類型轉換

2009-12-25 11:04:51

WPF Border

2009-12-24 14:30:19

WPF MVVM

2009-12-28 13:18:17

WPF設備輸入

2009-12-29 14:20:27

WPF路徑

2009-12-28 13:57:39

WPF文字

2023-09-03 22:14:23

分布式ID

2009-12-23 16:06:46

WPF事件策略
點贊
收藏

51CTO技術棧公眾號