2013-07-25 32 views
3

在我的项目中,我有一个longlistselector(来自Windows Phone Toolkit)。 我做了一个cutom itemtemplate它,现在我不得不区分 它的目标元素。如何获得longlistselector selecteditem itemtemplate目标?

例如我有一些文字和图像。如果我点击图片,我应该 启动WebBrowserTask加载大图。如果我点击了文本,我应该加载包含完整文章的页面 。

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

对此有何看法?

回答

3

将您想要的项目绑定到模板中图像/文本块的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 
} 
+0

我得到了同样的问题... Thanks..Really升值。 –

相关问题