WPF 窗口】的更多相关文章

原文 [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu) [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu) 周银辉 点击窗口左上角图标时弹出来的菜单也就是这里所说的系统菜单(SystemMenu),有时需要禁用(移除)其中的某些或全部菜单项.刚才也有网友问到了这一点,OK,贴代码: 要全部禁用(移除)菜单项请调用SystemMenuManager.RemoveWindowSystemMenu(Window window)方法,想部分禁用(移除)菜单项则调用Sys…
获取wpf窗口对应的句柄窗口 using System; using System.Windows; using System.Windows.Interop; using IWin32Window = System.Windows.Forms.IWin32Window; public class WindowWrapper : IWin32Window { /// <summary> /// 窗口句柄 /// </summary> public IntPtr Handle { g…
原文:自定义WPF 窗口样式 Normal 0 false 7.8 pt 0 2 false false false EN-US ZH-CN X-NONE 自定义 Window 在客户端程序中,经常需要用到自定义一个 Window ,大部分是为了好看吧.做了很多研究和实践之后,觉得需要把这个过程写下来,以供查阅. WPF 提供的丰富的功能使得自定义 Window 变得简单,但是也不是一个简单的 Style 就能做到的事情.虽然 WPF 中的控件是 Lookless 的,但是 Window 类有他…
原文:设置WPF窗口相对于非WPF窗口的位置 在前一个Post当中,指出了在WPF的WindowInteropHelper类中的一个BUG:通过WindowInteropHelper的Owner属性不能实现把WPF窗口的Owner属性设置为一个非WPF窗口的句柄. 在我的Post帖出后不到一天,在WPF SDK的Blog上,就针对这个BUG给出了一个非常完美的解决方案.既然不同通过设置WindowStartupLocation.CenterOwner来改变窗口的位置.那么我们就用WindowSt…
在WPF中,经常需要对窗口进行设置,下面讲讲常用的几个设置. 窗口样式 1.无边框窗口 无边框透明窗体 设置 WindowStyle="None"--无边框,如果需要其它按钮,如缩小.放大.收缩.关闭按钮,可以自定义 AllowsTransparency="True"--只有设置了AllowsTransparency,才有1.窗体真正的隐藏边框2.背景透明有效 Background="Transparent" 窗口阴影设置 可以用Border的C…
wpf中窗口禁止最大化可以通过属性ResizeMode来设置,但是ResizeMode有一个问题就是如果ResizeMode设置为NoResize的话,是可以禁止最大化的,但是这样同时也就不能拖动调整大小了,通过如下方法可以达到这个效果,通过win32 API来设置: 需要用到的API函数: [DllImport("user32.dll", EntryPoint = "GetWindowLong")] public static extern int GetWind…
问题1: WPF项目里有一个窗口和一个用户控件,窗口和用户控件里都有一个Button,点击窗口里的Button如何触发用户控件里Button的Click事件 解答: //窗口代码 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); contentControl1.Content = new UserControl1(); } private void 窗口Button_Cl…
WPF 中,如果我们想把某个窗口一直置于最前端,那么可以设置Topmost=true; 但是,这样就会有另外一个问题,就时你这个窗口,会一直处于最顶层,即使你想切换到其他程序的时候. 比如,你自己写的程序 app1,有两个窗口wind1 wind2 其中 wind2的Topmost=true. 那么再你操作自己的app1的时候,wind2始终再wind1的前面.这样时没有问题的. 但当你想切换到另外的程序,比如QQ的时候,wind1 还是会处于QQ界面的前面.这样与我们的设想时违背的. 我只是想…
窗口自适应就是说,当主窗口缩放的时候,内部的控件位置自动的调整,而不是隐藏掉.这主要依赖于Grid布局. 1.比如这个groupbox 本身是在一个Grid的Row中的.缩放之后,左边的button不见了. 开始: 缩放之后: <GroupBox Name="EmailGroupBox" Grid.Row="1" Grid.Column="0" Header="电子邮件" Margin="0,10,10,10&…
今天用了几个小时也没有找到将datagrid导出为excel的方法,搜索msdn发现,老外也木有解决这个问题,因此把代码贴出来,和大家分享一下,提高工作效率.简要说一哈,本程序使用反射,因此代码量看起来,很少,但是执行效率,还在没有进行优化处理. #region wpf客户端 导出DataGrid数据到Excel /// <summary> /// CSV格式化 /// </summary> /// <param name="data">数据<…
在软件开发中有时会有等待一段时间无人操作后隐藏鼠标,可能原因大致如下: 1.为了安全性,特别是那些需要用到用户名和密码登录服务端的程序,常常考虑长期无人操作,程序自动跳转到用户登录界面: 2.软件为了更好的播放效果,需要隐藏鼠标. 这里写的是第二种情况,wpf做播放时,需要隐藏鼠标. 思路是:假如3s鼠标不动则隐藏,设计了计时器的间隔时间为1s,并添加鼠标没移动的计数器,计数器达到3才执行程序.实现是这样的:每隔1s检测鼠标是否移动,如果不移动则计数器加1,如果中途鼠标移动,则计数器清零,要达到…
窗口居中 & 变更触发机制 解决: 1.单实例窗口,窗口每次隐藏后再显示时,位置居中显示 2.多屏幕下单实例窗口,当父窗口移动到其它屏幕时,单实例窗口再次弹出时,位置才更新到父窗口屏幕. 3.子窗口每次唤醒时,都居中显示. 窗口首次显示的位置 - WindowStartupLocation windows的启动时位置显示,WindowStartupLocation CenterOwner --显示在父窗口的中间(设置Owner) CenterScreen --显示在当前屏幕中间 Manual -…
最近在做一个大屏展示视频图片的项目,功能并不复杂,半天的工作量吧,一开始同事采用的Unity3D进行开发,但是里面要播放4K视频,Unity 的短板就是视频的播放了,今晚就要交付了,我一早就来公司,决定用WPF重新开发一版,各项功能都好了,唯独顶部总是显示一条白色的边,已经设置WindowStyle为None了也没用,幸得网上大神提供的资料,终于解决了这个小问题. XAML内容如下: <Window x:Class="WPF_VideoPlayer.MainWindow" xml…
//如果窗口最小化了弹出并置顶----事件触发调用 ShowWindowAsync(new System.Windows.Interop.WindowInteropHelper(CommonHelper.view).Handle, 1); SetForegroundWindow(new System.Windows.Interop.WindowInteropHelper(CommonHelper.view).Handle); [System.Runtime.InteropServices.Dll…
通用模板,窗口样式 <!-- 通用窗口模板 --> <ControlTemplate x:Key="CustomWindowTemplate" TargetType="Window"> <Border Margin=" CornerRadius="5,5,5,5" Background="#1BA1E2" MouseLeftButtonDown="CustomWindow_Mo…
如何实现一个窗口的风格(style),让所有的窗口都继承这样同样的风格,包括标题栏,放大.缩小和关闭按钮. 那么,我们可不可以就建立一个Base窗口,然后将这个窗口的风格给设计好之后,所有的窗口都继承自他呢? 答案是否定的,我们一定要知道,窗口是一个类,它可以继承,但是风格(XAML)文件是继承不了的. 所以我们能够做到的是: 1.窗口类继承,BaseWindow封装窗口最大化按钮,最小化按钮的点击等事件. 2.风格(Style)就利用属性来设置,把window看成一个控件,利用Style=“B…
在窗口界面的一个控件(TopGrid)设置如下MouseLeftButtonDown事件即可 private void TopGrid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)         {             try             {                 this.DragMove();             }             catch { }         }…
1.子窗口定义委托事件 public delegate void Btn_Click(int i); public event Btn_Click BtnEvent; 在子窗口使用 BtnEvent(int i)方法传递给父窗口. 2.父窗口添加事件 Viewer.BtnEvent += new Btn_Click(function); public void function(int i){ }…
/* #region 去除标题栏ICON [DllImport("user32.dll")] static extern int GetWindowLong(IntPtr hwnd, int index); [DllImport("user32.dll")] static extern int SetWindowLong(IntPtr hwnd, int index, int newStyle); [DllImport("user32.dll")…
窗口阴影 实现 因项目需要给用户一定提示,设计师建议在鼠标进入时显示窗口阴影,离开时取消窗口阴影. 很自然,都会想到直接在窗口的内容或者自定义窗口的最外层元素上加效果.示例如下: <Grid> <Grid.Effect> <DropShadowEffect x:Name="ShadowEffect" BlurRadius="15" Direction="270" Opacity="0" Shado…
.NET技术交流群 199281001 .欢迎加入. //自定义窗体拉伸 public HwndSource _HwndkaifaSource; private const int WM_SYSCOMMAND = 0x112; [DllImport("user32.dll", CharSet = CharSet.Auto)] private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, In…
直接上代码. Point brp = SystemParameters.WorkArea.BottomRight;//当前桌面右下角的位置…
https://www.cnblogs.com/yiyan127/p/6362509.html…
在xaml对应的后台代码文件的初始化方法中: public ShellView() { InitializeComponent(); #region 启动时串口最大化显示 Rect rc = SystemParameters.WorkArea; //获取工作区大小 ; //设置位置 ; this.Width = rc.Width; this.Height = rc.Height; #endregion this.TitleAlignment = HorizontalAlignment.Cente…
https://blog.csdn.net/Vblegend_2013/article/details/81771872 <Grid FocusManager.FocusedElement="{Binding ElementName=pwd}"> <Grid.RowDefinitions> <RowDefinition Height="40" /> <RowDefinition /> </Grid.RowDefi…
做C/S应用程序的过程中,要实现的一个功能是可以编辑系统某一类表,这些表又含有不同的properties,properties数量也不相同,有二十来个的,也有一两个的,所以,popUp出来之后大小各异,很不好看,而且这个view继承自父类的ViewModel,这个Model里没有关于最大化的设置,我最后解决的办法是给基类新加一个属性,子类根据需要设置这个属性,然后再view初始化的时候判断,但是,最开始直接用了 WindowState.Maximized() 这个方法,但是it does not…
public Window()         {             InitializeComponent();             WindowStartupLocation = WindowStartupLocation.CenterScreen;             this.Topmost = true;         }…
若干年前,老周写了几篇有关MEF的烂文,简单地说,MEF是一种动态扩展技术,比如可以指定以某个程序集或某个目录为搜索范围,应用程序在运行时会自动搜索符合条件的类型,并自动完成导入,这样做的好处是,主程序的代码不用改来改去,只需要把扩展的程序集放到对应的目录下就可以了. MEF不仅可以用于“看不见”的类型扩展上,对于“看得见”的类型照样适用,比如窗口.控件之属,你要是够牛逼的话,甚至可以把它用到ASP.NET上,不过这个玩意儿估计要配合重写路由规则才能实现,根据URL传的参数来跳转到具体的页面.…
<WPF编程宝典——使用C# 2008和.NET 3.5(第2版)>第25章与Windows窗体的互操作,本章将介绍用于集成Windows窗体和WPF内容的不同策略.还将分析如何在应用程序中使用两种类型的窗口,并且还将研究更加精彩的在一个窗口中混合来自两个平台内容的技巧.但是在深入分析WPF和Windows窗体之间的互操作之前,先后退一步,分析应当(或不应当)使用WPF互操作功能的原因是值得的.本节为大家介绍显示模态窗口和窗体. AD:2013云计算架构师峰会课程资料下载 25.2.3  显示…
原文 [WPF疑难]如何禁用窗口上的关闭按钮 [WPF疑难]如何禁用窗口上的关闭按钮                                           周银辉 哈哈,主要是调用RemoveMenu这个API,所以没什么好说的,直接“干货”吧: namespace VersatileMessageBoxLib {     using System;     using System.Windows.Interop;     using System.Runtime.Interop…