【发布时间】:2012-01-13 20:05:44
【问题描述】:
我有两个重叠的网格。
<Grid>
<Grid Name="gridMain" KeyDown="GridMain_KeyDown">
</Grid>
<Grid Name="gridSecond" KeyDown="GridSecond_KeyDown">
</Grid>
</Grid>
完成主屏幕后,我禁用(使不可见)主屏幕并启用(使可见)第二个屏幕。我还为每个 Grid 设置了单独的 KeyDown 事件处理程序。当第二个网格可见时,永远不会触发 GridSecond_KeyDown。有人能告诉我为什么吗?以及如何解决?
【问题讨论】:
-
您是否让这些网格填充所有可用区域?我的意思是,如果第一个网格可见,它会重叠第二个?
-
是的。第一个与第二个重叠。相同的尺寸和位置。
-
在你的情况下,首先我不会显示/隐藏它们,而是为两者设置不同的、清晰可见的不同背景颜色,看看在第一个变成“不可见”之后它是否仍然覆盖第二个,所以以这种方式阻塞事件处理。
-
我改变了两个网格的颜色......当第一个变得不可见时,网格将颜色变为第二个。
-
我怀疑它没有焦点。我会将它们放在不同的行中并折叠(而不是隐藏)。