【问题标题】:Grids with separate eventhandler具有单独事件处理程序的网格
【发布时间】: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。有人能告诉我为什么吗?以及如何解决?

【问题讨论】:

  • 您是否让这些网格填充所有可用区域?我的意思是,如果第一个网格可见,它会重叠第二个?
  • 是的。第一个与第二个重叠。相同的尺寸和位置。
  • 在你的情况下,首先我不会显示/隐藏它们,而是为两者设置不同的、清晰可见的不同背景颜色,看看在第一个变成“不可见”之后它是否仍然覆盖第二个,所以以这种方式阻塞事件处理。
  • 我改变了两个网格的颜色......当第一个变得不可见时,网格将颜色变为第二个。
  • 我怀疑它没有焦点。我会将它们放在不同的行中并折叠(而不是隐藏)。

标签: c# .net wpf xaml


【解决方案1】:

已解决。回想起来,我当时的知识还不够,无法提出正确的问题....

KeyDown event not firing with .NET WinForms?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    相关资源
    最近更新 更多