使用每个按钮获取每个文本值,然后单击Windows Phone 8中的LongListselector

时间:2014-04-16 12:15:11

标签: .net json windows-phone-8

我需要知道当我按下用户列表时如何获得每个文本值,在该示例中,当我按下以后我需要获取文本块的文本详细信息。我怎么能在Code背后做到这一点?

我想点击按钮,我会在'f'

中看到每个文字值
       <phone:LongListSelector Name="productx"  Margin="0,70,0,235" LayoutMode="List"  Background="#FFF9F9F9" BorderBrush="#FFE6E6E6" Foreground="#FF171717" FontSize="20"                   
          >
            <phone:LongListSelector.ItemTemplate >
                <DataTemplate>


                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">

                        <TextBlock  x:Name="f" VerticalAlignment="Center" HorizontalAlignment="Left"  Text="{Binding name}" FontStyle="Italic" />

                        <Button x:Name="btn_Parse2" Click="btn_Parse2_Click" Content="Folowla!" Tag="{Binding name}" HorizontalAlignment="Right"  VerticalAlignment="Center" Width="150" Background="#FF0079F1" Foreground="#FFE6E6E6" BorderBrush="{x:Null}" Height="Auto"/>

                    </StackPanel>
                </DataTemplate>
            </phone:LongListSelector.ItemTemplate>
        </phone:LongListSelector>

2 个答案:

答案 0 :(得分:0)

使用&#34;点按&#34;事件而不是Click事件。点击封面&#34;点击&#34;同样。

点击事件签名如下: event(object sender,System.Windows.Input.GestureEventArgs e)

发件人的类型为&#34; Button&#34;并包含按钮的所有属性。您可以访问绑定到与TextBlock文本相同的值的Tag属性。或者,您可以浏览visial树(Button Parent)以访问父Stackpanel中的TextBlock。 这样您也可以更改文本内容。

理想情况下,您只需要更改基础视图模型实例中的值,并自动调整TextBlock。但是你的代码似乎没有使用MVVM概念。 有关此概念的详细信息,请参阅http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh286405(v=vs.105).aspx

答案 1 :(得分:0)

您应该在Button的Tag属性上具有与TextBlock显示的值相同的值。您可以使用Click事件处理程序的 sender 参数来检索此属性:

private void btn_Parse2_Click(object sender, RoutedEventArgs e)
{
   string text = (string)((Button)sender).Tag;
}