WPF中的Popup控制元件
Popup控制元件在許多方面和ToolTip 控制元件一樣,儘管它們之間沒有繼承的關係。和ToolTip一樣Popup控制元件也只能包含單一內容,但是它可以包含任何WPF元素,該內容儲存在Popup.Child屬性中,而不像ToolTip控制元件儲存在ToolTip.Content屬性中。另外,和ToolTip控制元件一件Popup控制元件也可以延伸出視窗的邊界,最後,可以使用相同的佈局屬性放置Popup控制元件,並使用相同的IsOpen屬性顯示或隱藏Popup控制元件。
Popup控制元件和ToolTip控制元件之間的區別非常重要,這些區別包括:
1.Popup控制元件永遠不會自動顯示,為了顯示Popup控制元件必須設定IsOpen屬性。
2.預設情況下,Popup.StaysOen屬性被設定為True,並且Popup控制元件會一直顯示,直到顯式地將IsOpen屬性設定為False。如果將Popup.StaysOpen屬性設定為False,當使用者在其他地方單擊滑鼠時,Popup控制元件就會消失。
如果Popup控制元件的IsOpen屬性設定為True時,通過Popup控制元件的PopupAnimation屬性可以設定Popup控制元件的顯示方式。
由於Popup控制元件不和任何控制元件相關聯,所以無論在哪定義Popup標籤都無所謂。
XAML示例程式碼如下。
<Window x:Class="WpfApplication2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<StackPanel>
<Button Click="Button_Click">
Button
</Button>
<Popup Name="P" AllowsTransparency="True"
PopupAnimation="Fade" Placement="Mouse"><!--定義Popup設定其彈出方式和彈出位置並設定其允許透明-->
<Border Background="Transparent"><!--定義邊框-->
<StackPanel>
<Button>1111111</Button>
<Image Source="./Resource/c.png"></Image>
<Button Click="Button_Click_1">2222222</Button>
</StackPanel>
</Border>
</Popup>
</StackPanel>
</Window>
CS示例程式碼如下。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Controls.Primitives;
namespace WpfApplication2
{
/// <summary>
/// Window1.xaml 的互動邏輯
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
P.IsOpen = true;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
((Popup)(((Border)(((StackPanel)(((Button)sender).Parent)).Parent)).Parent)).IsOpen = false;
e.Handled = true;
}
}
}
相關文章
- WPF中Popup控制元件的使用控制元件
- Popup 控制元件[WPF]控制元件
- WPF Popup 控制元件導致被遮擋內容不重新整理的原因控制元件
- WPF中Ribbon控制元件的使用控制元件
- WPF中3D控制元件的使用3D控制元件
- WPF實現html中的table控制元件HTML控制元件
- WPF中為Popup和ToolTip使用WindowMaterial特效 win10/win11特效Win10
- wpf popup導致MouseLeftButtonUp無法觸發
- WPF中TreeView控制元件如何獲取選中的TreeViewItem物件?View控制元件物件
- WPF中Datagrid控制元件新增行號控制元件
- WPF執行緒中獲取控制元件的值和給控制元件賦值執行緒控制元件賦值
- WPF閃爍預警動畫的控制元件製作及winform呼叫WPF控制元件的方法動畫控制元件ORM
- DevExpress控制元件使用系列--ASPxGridView+Popup+TabdevExpress控制元件View
- WPF --- 如何重寫WPF原生控制元件樣式控制元件
- WPF 寫的ComboBoxTree 控制元件控制元件
- WPF控制元件庫總結控制元件
- WPF Blend 自定義控制元件控制元件
- DispatcherTimer 控制元件[WPF]控制元件
- WPF控制元件介面自適應控制元件
- WPF 控制元件類派生關係控制元件
- WPF1 LABEL控制元件控制元件
- WPF 控制元件模板ControlTemplate控制元件
- wpf專案使用winform控制元件ORM控制元件
- [WPF]獲取控制元件間的相對位置控制元件
- WPF窗體中嵌入/使用WinForm類/控制元件(基於.NET Core)ORM控制元件
- 【WPF】 OxyPlot圖表控制元件學習控制元件
- WPF給控制元件新增運動動畫控制元件動畫
- 在WPF中使用WinForm控制元件方法ORM控制元件
- 【WPF】-ComboBox控制元件詳解控制元件
- WPF CheckBox控制元件 我全都要控制元件
- weex元件-popup元件
- WPF 自定義控制元件的坑(蠢的:自定義控制元件內容不顯示)控制元件
- WPF 仿語音播放 自定義控制元件控制元件
- WPF之花式控制元件功能擴充套件控制元件套件
- wpf自定義控制元件新增引用資源控制元件
- WPF自定義FixedColumnGrid佈局控制元件控制元件
- WPF控制元件:密碼框繫結MVVM控制元件密碼MVVM
- WPF 效能最佳化-列表控制元件效能控制元件