none
窗口显示后被覆盖的问题…… RRS feed

  • 问题

  • 我设置一个ListBoxItem被双击后,Show并Activate一个窗口,但是只是显示了一下就马上被原来的窗口覆盖了。怎么解决这个问题?
    2012年7月14日 12:42

答案

全部回复

  • 你好,

    请确认下原来的窗体是不是Topmost等于true了,或者是你在show window 以后有没有一些特别的操作, 如果你的问题还是没有解决,你可以把代码发上来,我来帮你看下。

    好运


    Annabella Luo[MSFT]
    MSDN Community Support | Feedback to us

    2012年7月16日 7:08
    版主
  • Topmost=false

    除了Show()和Activate()就没了。如果是从菜单中打开的就正常,双击打开的就不正常了。

    2012年7月26日 4:30
  • 你可以把你的代码发上来,我重现一下看是什么问题。


    Annabella Luo[MSFT]
    MSDN Community Support | Feedback to us

    2012年7月26日 4:59
    版主
  •         <ListBox.Resources>
                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                    <EventSetter Event="MouseDoubleClick" Handler="ProcessTextItem" />
                </Style>
            </ListBox.Resources>
            private readonly Dictionary<TextItem, TextItemWindow> windows = new Dictionary<TextItem, TextItemWindow>();
    
            private void ProcessTextItem(object sender, RoutedEventArgs e)
            {
                foreach (var item in SelectedTextItems) ProcessTextItem(item);
            }
            public void ProcessTextItem(TextItem item)
            {
                if (!windows.ContainsKey(item)) windows.Add(item, new TextItemWindow(item));
                windows[item].Show();
                windows[item].Activate();
            }

    使用快捷键、右键菜单打开时一切正常,双击打开就变成显示在窗口后方了。
    2012年7月29日 0:49
  • 问题已解决:htp://stackoverflow.com/questions/7364780/new-wpf-window-only-shows-underneath-originating-window
    2014年8月7日 0:31