C# LongListMultiSelector阻止选定项目的手势事件

C# LongListMultiSelector阻止选定项目的手势事件,c#,xaml,events,windows-phone-8,C#,Xaml,Events,Windows Phone 8,在以下XAML中,当在LongListMultiSelector中选择任何TextBlock时,该TextBlock停止接收Tap事件(和任何其他手势事件),但当我再次点击它时,它将变为未选择。如何更改此行为,使TextBlock始终响应Tap,而不管其选择状态如何 <toolkit:LongListMultiSelector ItemsSource="{Binding Items}"> <toolkit:LongListMultiSelector.ItemTempla

在以下XAML中,当在
LongListMultiSelector
中选择任何
TextBlock
时,该
TextBlock
停止接收
Tap
事件(和任何其他手势事件),但当我再次点击它时,它将变为未选择。如何更改此行为,使
TextBlock
始终响应
Tap
,而不管其选择状态如何

<toolkit:LongListMultiSelector ItemsSource="{Binding Items}">
    <toolkit:LongListMultiSelector.ItemTemplate>
        <DataTemplate>
            <!-- When TextBlock is selected, Debug_WriteLine_Tapped does not get called -->
            <TextBlock Text="{Binding name}" Tap="Debug_WriteLine_Tapped" />
        </DataTemplate>
    </toolkit:LongListMultiSelector.ItemTemplate>
</toolkit:LongListMultiSelector>


基本上,我所寻找的是一种类似于标准邮件应用程序的行为,在选择了一堆信件后,他们仍然会收到
点击
事件,因为我仍然可以展开/折叠其中的任何一个事件(除了在我的情况下,它是一个简单的
文本块
而不是
展开视图

在我的机器上工作正常。当我点击这3项时,我会在调试日志中得到预期的消息


private void主页\u已加载(对象发送方、路由目标方)
{
this.DataContext=“Foo Bar Baz”.Split(“”);
}
私有void TextBlock_Tap_1(对象发送者、GestureEventArgs e)
{
Debug.WriteLine(“TextBlock_Tap_1”);
}

根据您的场景,WP8公开了可能被证明有用的属性。设置UseOptimizedManipulationRouting=false会导致LongListSelector、Pivot和其他控件不会吞咽嵌套控件的事件。可以在LongListSelector.ItemTemplate的根控件上进行设置

工具箱使用此sig响应点击

private void OnItemContentTap(object sender, System.Windows.Input.GestureEventArgs e)
该示例定义了与中LongListMultiSelector构造分离的datatemplate

<phone:PhoneApplicationPage.Resources>

有关示例,请参见工具箱中的LongListMultiSelectorSample.xaml。这个样本实际上是不完整的,一开始可能会让人困惑。只需忽略BuddiesPivotItem和GridModeItem,除非您想完成它并使整个过程正常运行。

只需在
LongListMultiSelector
上尝试将
UseOptimizedManipulationRouting
设置为false,但没有任何帮助。所选文本块仍然未被选中,而不是响应点击。我对
LongListSelector
没有问题,因为无法在那里选择项目。在
LongListMultiSelector
中,当项目未被选中时,它会按应有的方式响应点击,我在控制台中看到输出。但是,一旦它被选中,它的点击响应将变为未被选中,而不是启动它的事件侦听器,这是我想要摆脱的行为。也许我用错了词,在“selected item”下面,我指的是在
LongListMultiSelector
中前面有复选框的项目。
ItemTemplate="{StaticResource EmailItemTemplate}.