我需要知道当我按下用户列表时如何获得每个文本值,在该示例中,当我按下以后我需要获取文本块的文本详细信息。我怎么能在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>
答案 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;
}