代码之家  ›  专栏  ›  技术社区  ›  Vinita

在BackKeyPress上关闭UserControl上的弹出窗口

  •  0
  • Vinita  · 技术社区  · 9 年前

    我在windows phone 8.1 silverlight中有一个项目,其中我有一个用户控件,它显示在主页上按钮的点击事件上。用户控件有一个按钮。单击该按钮时,会出现一个弹出窗口,该弹出窗口也是一个UserControl。 现在我想关闭BackKeypress上的弹出窗口。由于UserControl不能有BackkeyPress事件,这很难做到。那么这是可能的吗?如果是的话,怎么办?

    请让我知道。。

    提前感谢您的帮助。

    2 回复  |  直到 9 年前
        1
  •  0
  •   Vivek Verma    9 年前

    您需要使用用户控件的向上键或向下键事件,并检测按键,如下所示:

    private void usercontrol1_KeyUp(object sender, KeyEventArgs e)
    {
        If (e.KeyCode == Keys.Back)
        {
            //do something
        }
    }
    
        2
  •  0
  •   Vinita    9 年前

    我明白了,它是这样工作的 我在MainPage.xaml中添加了此代码。cs在OnBackkeyPress()中

    if(usercontrol1.Visibility==Visibility.Visible && usercontrol.popup_usercontrol2.IsOpen)
    {
         UC_UserProfile.pop_upAddVehicles.IsOpen = false;
         e.cancel=true;
    }
    

    其中usercontrol1是在主页上单击按钮时出现的控件,popup_usercontrol2是在usercontrol 1上单击按钮后出现的弹出窗口。

    推荐文章