none
metro 用popup制作自定义的弹出框,TextBox选中之后,点击空白处无法丢失焦点 RRS feed

  • 问题

  • <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}" Width="2000" Height="1000">
            <StackPanel>
                <TextBox Width="300" Height="100" VerticalAlignment="Top" HorizontalAlignment="Left"></TextBox>
            </StackPanel>
        </Grid>

    前台设计,我用Grid来覆盖整个屏幕,上面放一个TextBox控件

    Popup mPopupControl;

    public void Create()
            {
                if (mPopupControl == null)
                {
                    mPopupControl = new Popup();
                    mPopupControl.Child = this;
                }
                mPopupControl.IsOpen = true;
            }

    后台增加一个Create方法

    当我在弹出框选中TextBox之后,点击空白处,也就是Grid,无法使TextBox失去焦点。求指教


    2012年7月10日 6:34

答案

  • 要使一个控件失去焦点,令另一个控件得到焦点就可以了。

    Grid是不能得到焦点的,所以TextBox无法失去焦点,像TextBox,Button 等等可以,有Focus方法的控件可以得到

    • 已标记为答案 kande_1988 2012年7月10日 8:51
    2012年7月10日 8:45

全部回复

  • 要使一个控件失去焦点,令另一个控件得到焦点就可以了。

    Grid是不能得到焦点的,所以TextBox无法失去焦点,像TextBox,Button 等等可以,有Focus方法的控件可以得到

    • 已标记为答案 kande_1988 2012年7月10日 8:51
    2012年7月10日 8:45
  • 谢谢,我打算从pointerpress事件下手,手动使得另外一个控件得到焦点。
    2012年7月10日 8:52