千家信息网

WPF中WindowsFormsHost上浮动控件怎么用

发表于:2024-10-19 作者:千家信息网编辑
千家信息网最后更新 2024年10月19日,这篇文章主要为大家展示了"WPF中WindowsFormsHost上浮动控件怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"WPF中WindowsFo
千家信息网最后更新 2024年10月19日WPF中WindowsFormsHost上浮动控件怎么用

这篇文章主要为大家展示了"WPF中WindowsFormsHost上浮动控件怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"WPF中WindowsFormsHost上浮动控件怎么用"这篇文章吧。

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

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

具体实现:

假定有两个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属性,就可以实现控件半透明。

效果图:

以上是"WPF中WindowsFormsHost上浮动控件怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0