我在页面中有一个游戏板:
<ItemsControl x:Name="Squares"
ItemsSource="{Binding Squares}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border
Background="{Binding Status,
Converter={StaticResource SquareStatusToBrushConverter}}"
Tag="{Binding StraightCoord}"
micro:Message.Attach="[Event MouseEnter] = [Action HandleMouseEnterOnCell($source)]">
<TextBlock
Text="{Binding Letter}" />
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
它由边框呈现的正方形(包含文本块)组成。我需要能够让用户选择一个手指在屏幕上的正方形序列(没有单独的点击)。
为了实现这一点,我决定处理MouseEnter事件并且发生了一些奇怪的事情。 当我在MouseEnter事件处理程序的开头设置断点时,我到达它并按F5。一切正常。当我关闭该断点时,似乎MouseEnter开始被触发两次并且我收到了我自己的验证异常,该异常表示用户不能多次选择相同的方块。我当然会处理这个例外。但在描述的情况下,我甚至不希望它被解雇!
我做错了什么?有没有办法用其他事件完成这样的任务?如果您有一个建议,MouseEnter事件在没有断点的情况下触发了两次?
答案 0 :(得分:1)
只需将UIElement.IsHitTestVisible设置为false,即可触发