zoukankan      html  css  js  c++  java
  • 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());
    }
  • 相关阅读:
    使用docker部署zabbix
    如何用好 IDEA ,Java 撸码效率至少提升 5 倍?
    getpass模块
    linux下利用nohup后台运行jar文件包程序
    Spring Cloud 与 Dubbo 区别
    git 打标签并推送tag到托管服务器
    git-stash用法小结
    git推送本地分支到远程分支
    Git dev分支合并到master分支完美实战
    IntelliJ远程调试教程
  • 原文地址:https://www.cnblogs.com/ZXdeveloper/p/3583343.html
Copyright © 2011-2022 走看看