windows phone listbox的点击事件

Posted 叶常绿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows phone listbox的点击事件相关的知识,希望对你有一定的参考价值。

前台

技术分享
<ListBox x:Name="listbox1" Margin="6">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="15" Tag="{Binding ImageID}" Tap="Post_Click">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Image}" Width="150" Height="120" Stretch="Fill"/>
<TextBlock Text="{Binding ImageName}" FontSize="30" TextWrapping="Wrap" Width="300"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
技术分享

 

后台

技术分享
private T FindFirstElementInVisualTree<T>(DependencyObject parentElement) where T : DependencyObject
{
var count = VisualTreeHelper.GetChildrenCount(parentElement);
if (count == 0)
return null;
for (int i = 0; i < count; i++)
{
var child = VisualTreeHelper.GetChild(parentElement, i);
if (child != null && child is T)
{
return (T)child;
}
else
{
var result = FindFirstElementInVisualTree<T>(child);
if (result != null)
return result;
}
}
return null;
}
技术分享

需要绑定

技术分享
private void Post_Click(object sender, System.Windows.Input.GestureEventArgs e)
{
var selectedIndex = listbox1.SelectedIndex;
ListBoxItem item = listbox1.ItemContainerGenerator.ContainerFromIndex(selectedIndex) as ListBoxItem;
StackPanel border = FindFirstElementInVisualTree<StackPanel>(item);
Image img = FindFirstElementInVisualTree<Image>(item);
TextBlock txtBlock = FindFirstElementInVisualTree<TextBlock>(item);
MessageBox.Show(txtBlock.Text.ToString());
}
技术分享

 

以上是关于windows phone listbox的点击事件的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows Phone 8 的混合示例数据中使用 ListBox 而不是 LongListSelector

Windows phone 全景视图

Windows Phone 8上的文本换行列表框

通过 Windows Phone 库打开自定义图像

在Windows Phone 8的列表框中绑定列表框

Windows Phone 8 中的响应式 UI