我创建了一些必须作为子项添加到DockPanel的文本框。我给了这个DockPanel一个名字然后当我尝试使用这个名字时,Intellisense没有给我任何结果。如何选择DockPanel然后添加其子项?
我想选择它并添加一些文本框作为其子项。例如:nameLocationPanel.Children.Add(new TextBox());
这是包含DockPanel的XAML代码的顶部。它已经有了一些文本框,但我想在我的C#代码中添加更多文本框。
<ListBox ItemContainerStyle="{StaticResource lbStyle}" Name="searchList" BorderBrush="#FF898989" BorderThickness="2" MouseUp="searchList_MouseUp" MouseDoubleClick="searchList_MouseDoubleClick" Visibility="Visible">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<DockPanel Name="nameLocationPanel">
<TextBlock FontSize="14" HorizontalAlignment="Left" Text="{Binding Path=FirstName}"/>
<TextBlock FontSize="14" HorizontalAlignment="Left" Text=" "/>
<TextBlock FontSize="14" HorizontalAlignment="Left" Text="{Binding Path=LastName}"/>
<TextBlock HorizontalAlignment="Right" Text="{Binding Path=Location}"/>
</DockPanel>
答案 0 :(得分:0)
它在DataTemplate中,你不能按名称选择它,因为它在你的Window中不存在,它只是一个模板定义会重复,因此没有1个dockpanel但N,N是等于列表框中有多少项,并且可能有0个dockpanel。 你到底想要达到什么目的?你可能会向后退一步。
答案 1 :(得分:0)
您无法访问DockPanel
,因为它是DataTemplate
的一部分。它是为ListBox
中的每个项生成的,因此无法访问它的单个实例。
要向DockPanel
添加其他项目,必须通过XAML中的绑定或特殊UserControl
之类的内容来执行此操作。但它始终取决于ListBoxItem
。