ListView Windows应用中的图像点按事件

时间:2014-09-13 07:15:16

标签: c# image listview windows-store-apps

我正在Windows 8中为WinRT开发我的第一个应用程序。我的应用程序使用一个列表视图实现,列表视图包含两个图像控件我想在图像控制时添加点击事件,然后图像被点击,然后该图像的可见性被折叠,另一个图像的可见性变得可见。 我的代码=

 <ListView Name="display" ItemsSource="{Binding}"  >
   <ListView.ItemsPanel>
      <ItemsPanelTemplate>
         <StackPanel  Orientation="Horizontal" />
     </ItemsPanelTemplate>
    </ListView.ItemsPanel>
     <ListView.ItemTemplate>
         <DataTemplate>
            <StackPanel Orientation="Vertical">
              <Image Source="{Binding  Path=Image}" />
              <TextBlock Text="{Binding Image_Name}" FontSize="25" Foreground="Gray" Margin="180,0,0,0"  />
              <TextBlock Text="{Binding Description}" FontSize="20" Foreground="Gray" Margin="140,0,0,0" />
               <Image x:Name="add" Source="{Binding  Path=Image1}" Height="30" Opacity="0.7" Tapped="add_Tapped" />
               <Image x:Name="sub" Source="{Binding  Path=Image2}" Height="30" Opacity="0.7" Visibility="Collapsed" />
            </StackPanel>
          </DataTemplate>
         </ListView.ItemTemplate>
 </ListView>

我已经使用过此代码,但它适用于所有添加图像控件而非特定项目。我想只针对用户按下的特定项目进行此操作。

 private void SearchVisualTree(DependencyObject targetElement)
    {
        var count = VisualTreeHelper.GetChildrenCount(targetElement);
        if (count == 0)
            return;
       for (int i = 0; i < count; i++)
        {
            var child = VisualTreeHelper.GetChild(targetElement, i);
            if (child is Image)
            {
                Image myItems = (Image)child;
                if (myItems.Name == "add")
                {
                    myItems.Visibility = Visibility.Collapsed;
                   return;
                }
            }
            else
            {
                SearchVisualTree(child);
            }
        }
   }

    private void add_Tapped(object sender, TappedRoutedEventArgs e)
    {
        SearchVisualTree(this.display);  //display is a listview name
     }

我想为添加图像时添加图像创建代码,然后添加图像的visibilty获取Collapsed,另一个子图像的可见性对于特定的项目可见。我怎么创建它请帮助我。另一件事我是Windows 8开发新手我想用这个应用程序使用web api与Json服务。哪个教程可以帮助我,请建议我。

0 个答案:

没有答案