其他分享
首页 > 其他分享> > CodeGo.net>如何获取longlistselector selecteditem itemtemplate目标?

CodeGo.net>如何获取longlistselector selecteditem itemtemplate目标?

作者:互联网

在我的项目中,我有一个longlistselector(来自Windows Phone Toolkit).
我为其制作了一个个性化的itemtemplate,现在我必须区分
目标元素.

例如,我有一些文字和图像.如果我击中图像,我应该
启动WebBrowserTask加载大图像.如果我点击文字我
应该加载具有完整文章的页面.

所以我需要某种方式在ItemTemplate中定位目标元素,或者我需要
绑定到该ItemTemplate的数据.

有什么想法吗?

解决方法:

将所需的项目绑定到模板中图像/文本块的Tag属性,然后捕获“ tapped”或“ mouseleftbuttondown”事件并提取该项目.这样,您将知道它是哪一个.

在您的XAML中:

<DataTemplate>
   <StackPanel>
     <Image Source={Binding SourceField} Tag={Binding} MouseLeftButtonDown="myImage_MouseLeftButtonDown" />
     <TextBlock Text={Binding TextField} Tag={Binding}  MouseLeftButtonDown="myImage_MouseLeftButtonDown" />
   </StackPanel>
</DataTemplate>

在您的C#中:

private void myImage_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
   Image image = sender as Image;
   if (image != null && image.Tag != null && image.Tag is YourType)
   {
       YourType item = image.Tag as YourType;
      // Load the full image or browser or whatever you want
}

标签:windows-phone,c
来源: https://codeday.me/bug/20191123/2064099.html