码迷,mamicode.com
首页 > Windows程序 > 详细

在WPF的WindowsFormsHost浮动控件方法

时间:2016-08-04 19:55:58      阅读:579      评论:0      收藏:0      [点我收藏+]

标签:透明   浮动   wpf   

 WindowsFormsHost是WPF中承载windows form类型的控件,它的优先级特别高,在同一个窗口上的其他类型控件都能被它盖在下边。

  为了能在WindowsFormsHost窗口上浮动控件,并实现半透明的效果,可在承载WindowsFormsHost的wpf窗口上弹出来另外一个窗口,大小和下边的窗口一致,且位置随着下边窗口变化而变化。

 具体实现:

 假定有两个窗口:MainWindow 和FloatWindow,其中MainWindow是承载WindowsFormsHost的窗口,FloatWindow是上边浮动的窗口。

 在MainWindow的Loaded事件里初始化浮动窗口,并实现窗口尺寸大小和位置变化,详细见代码。

 

 _floatWin = new FloatWindow(this);

            _floatWin.Owner = this;

            _floatWin.ShowInTaskbar = false;

            _floatWin.Show();

 _floatWin.Left = this.Left;

                _floatWin.Top = this.Top;

                _floatWin.Width = this.Width;

                _floatWin.Height = this.Height;

  以上就可以让浮动窗口和底下的窗口保持大小和位置一致,之后设置浮动窗口的透明效果,
在浮动窗口的Xaml里设置主窗口的这两个属性,
AllowsTransparency="True" Background="Transparent" 
之后上边浮动窗口就可以随意添加控件,设置控件的Opacity属性,就可以实现控件半透明。

  


本文出自 “wclwksn_GIS” 博客,请务必保留此出处http://speciallst.blog.51cto.com/9749849/1834247

在WPF的WindowsFormsHost浮动控件方法

标签:透明   浮动   wpf   

原文地址:http://speciallst.blog.51cto.com/9749849/1834247

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!