如何在wp8中访问动态stackpanel内的textblock文本?

时间:2014-08-07 15:41:56

标签: c# xaml windows-phone-8 data-binding listbox

我有一个包含堆栈面板的数据绑定ListBox,它包含许多文本框,文本正在从服务器动态加载。这就是XAML的样子 -

<ListBox x:Name="SearchColl_List" ItemsSource="{Binding }" >
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <!--Main Stack-->

                    <StackPanel x:Name="Coll_Stack" Orientation="Vertical"   
                                Margin="10,0,6,20" 
                                Tap="StackPanel_Tap">
                                      <TextBlock x:Name="Name_Text"
                                        Text="{Binding Name}"
                                       FontSize="20"
                                       Width="450"    
                                           HorizontalAlignment="Left"
                                           Foreground="#33706b"
                                       TextWrapping="Wrap"
                                       />
                                    <TextBlock Text="{Binding Stream}"
                                            Width="450"

                                           HorizontalAlignment="Left"
                                       FontSize="20"
                                       Foreground="Green"
                                       TextWrapping="Wrap"
                                      />
                                </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

我有一个事件&#34; StackPanel_Tap&#34;我想访问正在点击的堆栈面板元素的&#34; Name_Text&#34;(TextBox)中的文本。我想访问以下方法存根...

中的文本
private void StackPanel_Tap(object sender, System.Windows.Input.GestureEventArgs e)
    {
       //Access the Text in "Name_Text" for current element that is tapped
    }

2 个答案:

答案 0 :(得分:0)

试试这个:

((sender as StackPanel).FindName("Name_Text") as TextBlock).Text

答案 1 :(得分:0)

另一种方式是:

(sender as StackPanel).Children[0].Text