【WPF】使用Popup控件做浮窗提示框

需求:当鼠标移入某个区域时,弹出一个浮窗,以便用户进行下一步操作。

15147010-de935099f7e7851e.png

<Border BorderBrush="Black" Width="60" Height="40" Margin="5" BorderThickness="1" Background="Yellow" MouseEnter="border_MouseEnter" >

        <Grid>

            <TextBlock Text="多项选择" HorizontalAlignment="Center" VerticalAlignment="Center"/>

            <Popup Name="pop1" StaysOpen="False">

                <TextBox Background="Green" Height="98" Width="233">对方考虑购买能打开了国内的</TextBox>

            </Popup>

        </Grid>

 </Border>

后台:

private void border_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)

扫描二维码关注公众号,回复: 6464349 查看本文章

{

pop1.IsOpen = false;

pop1.IsOpen = true;

}

说明:为何要先IsOpen = false再IsOpen = false,

“在其他地方点击之后,pop1并不是自动关闭了,而是跑到其他控件后面去了 所以你再让它打开,它其实已经是打开的,而且已经在后面,所以看不到了. 你先让它关闭,再打开,就又跑到前面来了.”


1.常用属性说明

IsOpen: 布尔值,指示 Popup 控件是否显示

StaysOpen: 布尔值,指示在 Popup 控件失去焦点的时候,是否关闭 Popup 控件的显示

PopupAnimation:指示显示窗口时是否使用动画,只有在 AllowsTransparency 等于true时此属性才有用

Popup 窗口本身是一个不可见的元素,只有在窗口上放置了信息后才能显示

Popup的定位方式与一般控件的定位方法不一样, Popup 使用五个属性来设定位置信息:

PlacementTarget:设定 Popup 定义所相对的控件,

如果没有为属性为 NULL,则 Popup 定位相对于屏幕的左上角

Placement:一个枚举值,指定 Popup 控件的定位方式

PlacementRectangle:设定一个矩形,在 Popup 控件显示时,位置将相对于此矩形来显示,此矩形的位置也相对于PlacementTarget 属性所设定的控件

HorizontalOffset:指定一个值,指示 Popup 的位置所需水平移动多少个象素

VerticalOffset:指定一个值,指示 Popup 的位置所需垂直移动多少个象素

15147010-2f2691cef3e5886c.png

转载于:https://www.jianshu.com/p/2a45e92f4cad

猜你喜欢

转载自blog.csdn.net/weixin_33896726/article/details/91310227