窗体的置顶显示


前几天碰到了一个问题,

从A窗口双击击某个图片 ,弹出B窗体,按照常理,我们都想看到B窗体的全貌。

但是,让人郁闷的事情发生了,B躲到了A的下面。

1.窗体的属性是

<Window x:Class="WPF.Edit"
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
    Title="PersonalInfoEdit" Height="458" Width="630"   
    WindowStartupLocation="CenterOwner" WindowStyle="None"  AllowsTransparency="True"   Background="{x:Null}"  >

 也没有特异之处,

2.使用Topmost=true 实现的效果又不是我想要的。

终于今天有时间弄它了,在 110行,一个覆盖全窗体的Grid中,MouseLeftButtonDown="Window_MouseLeftButtonDown冒出来了,此功能是想实现不论在哪一个地方拖拽窗体,都能使窗体移动,很好的一个功能。

死也死在这个功能上,因为点击完图片弹出B窗体后,又执行了一遍此功能,将焦点又从B窗体夺了回来。

到这里,问题也就解决了,修改下原画面,将窗体移动功能的鼠标拖拽位置改为最顶和最底两条,就行了。

下面的方法就是拖动窗体的方法。    

   private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (e.ButtonState == MouseButtonState.Pressed )
            {
                this.DragMove();                
            }
        }


 

原文地址:https://www.cnblogs.com/zp89850/p/2233295.html