新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
WPF Listbox生成方式介紹
在WPF中,有很多常用的控件可以幫助我們?cè)趯?shí)際編程中輕松的完成各種圖形界面的相關(guān)需求。在這些控件中,有一個(gè)叫做WPF Listbox的控件,里面的Item是通過數(shù)據(jù)模板生成的。#t#

納雍ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
WPF Listbox代碼示例如下所示:
- < Border Margin="15"
BorderBrush="Aqua" BorderThickness="2"
Padding="8" CornerRadius="5"> - < StackPanel>
- < ListBox Name="myListBox"
ItemTemplate="{StaticResource
myDataTemplate}" - IsSynchronizedWithCurrentItem="True">
- < ListBox.ItemsSource>
- < Binding Source="{StaticResource
InventoryData}" XPath="Books/Book"/> - < /ListBox.ItemsSource>
- < /ListBox>
- < Button Margin="10"
- Click="DataTemplateFindElement">
Get text of textBlock in DataTemplate
< /Button> - < /StackPanel>
- < /Border>Listbox使用的數(shù)據(jù)模板如下:
< DataTemplate x:Key="myDataTemplate"> - < TextBlock Name="textBlock"
FontSize="14"> - < TextBlock.Text>
- < Binding XPath="Title"/>
- < /TextBlock.Text>
- < /TextBlock>
- < /DataTemplate>
使用下面的WPF Listbox代碼就可以獲取數(shù)據(jù)模板里面TextBlock中的內(nèi)容了。
- ListBoxItem myListBoxItem =
(ListBoxItem)(myListBox.Item
ContainerGenerator.Container
FromItem(myListBox.Items.CurrentItem));- ContentPresenter myContent
Presenter = FindVisualChild
< ContentPresenter>(myListBoxItem);- DataTemplate myDataTemplate
= myContentPresenter.ContentTemplate;- TextBlock myTextBlock =
(TextBlock)myDataTemplate.
FindName("textBlock", myContent
Presenter);- MessageBox.Show("The text of
the named TextBlock in the
DataTemplate of the selected
list item: " + myTextBlock.
Text);
上面代碼調(diào)用的函數(shù)如下:
- private childItem FindVisualChild< childItem>
(DependencyObject obj) where childItem
: DependencyObject- {
- for (int i = 0; i < VisualTreeHelper.
GetChildrenCount(obj); i++)- {
- DependencyObject child = VisualTree
Helper.GetChild(obj, i);- if (child != null && child is childItem)
- return (childItem)child;
- else
- {
- childItem childOfChild = FindVisualChild
< childItem>(child);- if (childOfChild != null)
- return childOfChild;
- }
- }
- return null;
- }
以上就是我們?yōu)榇蠹医榻B的WPF Listbox相關(guān)概念。
文章標(biāo)題:WPF Listbox生成方式介紹
本文URL:http://www.dlmjj.cn/article/dhdggdc.html


咨詢
建站咨詢
