0

对不起,伙计们,我之前问过这个问题,但无法弄清楚答案。进行了编辑以查看是否会碰到它,但这似乎不起作用。所以这是这个问题的最后一次尝试

我似乎无法弄清楚如何获得列表框中特定文本块的值。首先,代码如下:

<ListBox HorizontalAlignment="Left" Name="listItems" VerticalAlignment="Top" >
   <ListBox.ItemTemplate>
      <DataTemplate>
         <StackPanel Orientation="Horizontal" Height="210" >
            <Grid Height="210" Background="#75FFF8DC">

               <toolkit:GestureService.GestureListener>
                  <toolkit:GestureListener Tap="GestureListener_Tap"
                     DoubleTap="GestureListener_DoubleTap"
                     Hold="GestureListener_Hold"
                     Flick="GestureListener_Flick"/>
               </toolkit:GestureService.GestureListener> 

                     ...CODE... 
</></></>...

代码区包含一堆其他网格、分区(列和行)和文本块。这是一个例子:

<Image Name="XXX" Source="{Binding XXXPath}" Stretch="Fill" 
   Grid.Column="0"/>
<TextBlock Name="YYY" Grid.Column="1" Grid.Row="0"  
   Text="{Binding YYYPath}" Foreground="Black"/>
<TextBlock Name="ZZZ" Grid.Column="2" Grid.Row="0"  
   Text="{Binding ZZZPath}" Foreground="Black"/>

所以我想要的是,如果有人点击网格(这意味着网格中的任何内容,包括这些文本块和图像),我想首先获取文本块“YYY”的文本。

我可以将该代码插入文本块并将发送者用作文本块,但我不想将我的手势限制在一个文本块上,也不想对网格中的每个元素重复这一点(很多问题,似乎没有必要)。

编辑:如果这不起作用,我也可以只实现一个点击手势(但同样,对于整个网格)并使用它来获取文本块的值。没有办法吗?否则我将不得不这样做:为文本块添加点击并将发件人用作文本块,然后获取文本的值。但是我真的不想用这种方法。

4

1 回答 1

0

我看到您对文本块和图像使用绑定。那么你为什么不使用(如果你还没有这样做的话)一个IList包含关于它们的信息的类的实例呢?然后将此实例设置ItemSource为您的列表框。这样,当用户点击列表框上的某个位置时,您可以捕获列表框项目的SelectedIndexor SelectedItem。这将帮助您确定要提取 IList 集合的哪个元素,以便您可以获取文本或图像或任何您需要的内容。

而且您不需要使用Mango从外部使用GestureServicesSilverlight ToolkitTapDoubleTap是内置的。

于 2012-08-21T06:16:44.963 回答