WPF 使用Popup控制項做浮窗 提示框

2022-02-26 20:36:07 字數 1161 閱讀 4048

需求:當滑鼠移入某個區域時,彈出乙個浮窗,以便使用者進行下一步操作。

效果如下圖:

當滑鼠移入左上角的【多選顯示】框內,出現下面的浮窗(懸浮在原ui之上)。當在浮窗外點選滑鼠左鍵時,隱藏該浮窗。

前台布局:

borderbrush="black"

width="60"

height="40"

margin="5"

borderthickness="1"

background="white"

mouseenter="border_mouseenter">

text="多項選擇"

horizontalalignment="center"

verticalalignment="center"/>

name="pop1"

staysopen="false">

x:name="brandselectview"

horizontalalignment="left"/>

popup>

grid>

border>

說明:這裡用的是border邊框控制項,由於該控制項只能有乙個content,所以為了同時包含popup及其在邊框中顯示的文字textblock,採用了乙個grid來包裹。

後台對於popup控制項的操作只有滑鼠移入事件:

private

void

border_mouseenter(object sender, system.windows.input.mouseeventargs e)

說明:為何要先isopen = false再isopen = false,下邊有解釋。

摘錄一下大神的原話:

「在其他地方點選之後,pop1並不是自動關閉了,而是跑到其他控制項後面去了

所以你再讓它開啟,它其實已經是開啟的,而且已經在後面,所以看不到了.

你先讓它關閉,再開啟,就又跑到前面來了.」

WPF 控制項之 Popup

1.常用屬性說明 isopen 布林值,指示 popup 控制項是否顯示 staysopen 布林值,指示在 popup 控制項失去焦點的時候,是否關閉 popup 控制項的顯示 popupanimation 指示顯示視窗時是否使用動畫,只有在 allowstransparency 等於true時此...

wpf 日期選擇對話窗 11 WPF 日期控制項

1.屬性 1 displaydatestart 日曆能夠顯示的最早時間和最晚時間 共有屬性 datetime datatime1 new datetime 2019,10,6 datetime datatime2 new datetime 2020,3,8 calendar.displaydates...

wpf 控制項使用

wpf 控制項使用 wpf toolkit和wpf toolkit extend的使用 wpf啟動介面可以一閃,乙個jpg calendar textbox datepicker datagrid使用 datagrid中使用combobox datagrid在更新了observablecollect...