我正在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服务。哪个教程可以帮助我,请建议我。