在程序写一个popup发现他会在置顶,在网上找了两大神代码http://www.cnblogs.com/Leaco/p/3164394.html
http://blog.csdn.net/baijinwen/article/details/6159043
继承 Popup
public class CCPopup : Popup
{
public static DependencyProperty TopmostProperty = Window.TopmostProperty.AddOwner(typeof(CCPopup), new FrameworkPropertyMetadata(false, OnTopmostChanged));
public bool Topmost
{
get { return (bool)GetValue(TopmostProperty); }
set { SetValue(TopmostProperty, value); }
}
private static void OnTopmostChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
{
(obj as CCPopup).UpdateWindow();
}
protected override void OnOpened(EventArgs e)
{
UpdateWindow();
}
private void UpdateWindow()
{
var hwnd = ((HwndSource)PresentationSource.FromVisual(this.Child)).Handle;
RECT rect;
if (GetWindowRect(hwnd, out rect))
{
SetWindowPos(hwnd, Topmost ? -1 : -2, rect.Left, rect.Top, (int)this.Width, (int)this.Height, 0);
}
}
#region P/Invoke imports & definitions
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int Left;
public int Top;
public int Right;
public int Bottom;
}
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect);
[DllImport("user32", EntryPoint = "SetWindowPos")]
private static extern int SetWindowPos(IntPtr hWnd, int hwndInsertAfter, int x, int y, int cx, int cy, int wFlags);
#endregion
}
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
在Windows Presentation Foundation (WPF) 中,Popup是一个非常实用的控件,用于创建浮动的、非模态的用户界面元素,它可以显示在主窗口或其他UI元素之上。在本项目"PopupSamples.7z"中,我们可以期待看到一系列的...
动态显示popup,定时关闭
在开发的WPF程序中使用popup的过程中会遇到一个问题,按下windows+d键回到桌面,主程序界面消失了,但是popup弹窗还是停留在桌面,或者会遇到另一种情况,在主程序界面打开了popup弹窗,回到桌面后再点击主程序,回到主...
通过这些资源,你可以深入学习WPF的各个方面,包括Popup控件的用法,以及其他WPF控件、布局管理、数据绑定等内容,进一步提升你的WPF开发技能。 总之,WPF作为强大的用户界面框架,结合C#语言,为企业级桌面应用...
在项目开发中,希望窗体一直处于置顶状态,使用该Demo可方便实现这个功能。
`Popup`控件在WPF中常用于创建浮动、可定位的子窗口,但adorner提供了一种更具灵活性的方式来实现类似效果。 adorner是WPF中的一个高级概念,主要用于UI元素的装饰和扩展,它们通常与布局系统独立,并可以叠加在...
PopupWindow在这里可能是指一种自定义的窗口类,它继承自WPF的Popup控件,用于实现悬浮效果。 在压缩包文件 "PopUPDemo1" 中,很可能包含了实现这一功能的示例代码,包括XAML文件(用于定义UI布局)和C#后台代码...
在本文中,我们将深入探讨WPF(Windows Presentation Foundation)中的动画和窗体转换技术,这些都是基于.NET Framework的UI设计框架的重要组成部分。WPF提供了一种强大的机制,允许开发者创建丰富的、交互式的用户...
WPF 解决popup顶置以及跟随窗体移动的问题(自定义控件,并且可解决wpf与winform控件相互嵌套的问题)-附件资源
WPF 弹出窗体 自动关闭 可调整关闭时间 及窗体显示文本内容
在Windows Presentation Foundation(WPF)中,窗体样式重写是一项关键技能,它允许开发者根据自己的设计需求定制用户界面,创造出美观、独特的交互体验。本文将深入探讨如何通过重写WPF窗体样式来实现界面的美化。 ...
### WPF中WindowFormsHost始终置顶的有效解决方案 #### 背景介绍 WPF(Windows Presentation Foundation)作为微软推出的一种UI框架,以其强大的功能和灵活性受到开发者的青睐。但在实际应用过程中,开发者经常会...
wpf使用Popup封装数据筛选框。 1.付费下载后,博主保证能运行成功,不成功可以联系博主。 2.也可以私下单独联系博主进行付费下载。
在本文中,我们将深入探讨WPF(Windows Presentation Foundation)中一个特定的问题,即Popup控件如何“吃掉”PreviewMouseDown事件。这个问题对于那些在使用WPF进行GUI开发的程序员来说,是一个常见但可能困扰的...
wpf的ColorPicker颜色选择器,源码和实例. 网上很多的都是combox封装一个选择颜色,或者调用winform的颜色选择器,有第三方dll,但是编译有问题,因为我用的项目是anycup.用着很费劲 .亲们用这个把,把ColorPicker封装为...
WebView2为WPF网页浏览工具,具有简单易用,页面显示清晰的优点。 但是,由于微软设计缺陷,无法进行分层界面设计,顶层控件会被遮挡住。 本样例很好的解决了上述问题,实现界面的分层控制,能够正常显示顶层控件。...
对于ComboBox,我们需要定义一个Popup,其中包含一个TreeView。TreeView的ItemsSource同样绑定到ViewModel的集合,并且每个TreeViewItem的模板应根据数据项的属性进行定制。此外,可能还需要添加一些事件处理程序,...
在Windows Presentation Foundation (WPF) 中,TextBox是一个常用的控件,用于接收用户的文本输入。在某些应用场景中,如搜索引擎、编程环境或者数据录入界面,我们可能希望TextBox具有自动补全功能,即用户在输入时...
在Windows Presentation Foundation(WPF)中,创建一个半透明的弹出遮罩是常见的需求,尤其是在设计用户界面时,为了提供更好的用户体验,我们可能需要在主窗口上显示一个半透明的覆盖层,以突出显示某些内容或者...