WPF中如何使用代码操作数据模板生成的控件

鬤箛曝
2013-10-09 · TA获得超过8934个赞
知道小有建树答主
回答量:1010
采纳率:60%
帮助的人:705万
展开全部
有一个Listbox,里面的Item是通过数据模板生成的,如下所示:<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使用的数据模板如下:<DataTemplate x:Key="myDataTemplate"> <TextBlock Name="textBlock" FontSize="14"> <TextBlock.Text> <Binding XPath="Title"/> </TextBlock.Text> </TextBlock> </DataTemplate>使用下面的代码就可以获取数据模板里面TextBlock中的内容了。 MessageBox.Show("The text of the named TextBlock in the DataTemplate of the selected list item: "+ myTextBlock.Text);上面代码调用的函数如下:private childItem FindVisualChild<childItem>(DependencyObject obj) where childItem : DependencyObject{for (int i =0; i < VisualTreeHelper.GetChildrenCount(obj); i++){DependencyObject child = VisualTreeHelper.GetChild(obj, i);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式