积极答复者
WPF中windows form控制visible问题

问题
-
各位前辈们:本人是菜鸟一只..我和朋友在做一个项目..之前都是用WINDOWS FORM做的,现在要把它转入WPF,然后利用EXPRESSION BLEND来做UI美化..但是遇到一些问题.我们把win form利用windowsformhost转入WPF中,为了隐藏winform固定的外框,我的搭档把它的transparency 属性设为true,结果整个winform里面带的control都看不见了.之前是想利用一个listbox显示结果的..transparency设置完之后整个listbox跟着一起隐藏了.我想问的是,怎样才能在WPF中隐藏windows form的外框,但是不隐藏form里面的control呢?期待各位的回答~多谢啦!呵呵
答案
-
孤单的树,
你好!首先感谢Jarrey作出的答案!
根据我的理解,你是想要实现WPF中用WindowsFormsHost寄宿winform控件,并且隐藏winform的固定边框。
按照你的描述我尝试写了一段代码,在WPF窗体程序中,用WindowsFormsHost保存了一个winform中ListBox,我得到的UI如下图所示
注:ListBox中只写了一个MaskedTextBox
我想知道你所指的winform固定边框是否为图中所标记的部分?因为WindowsFormsHost本身并没有边框,我们看到的边框应该是ListBox或者说是WindowsFormsHost中所保存的控件的边框。
如果是这种情况的话,我们可以用控件的BorderStyle属性来去掉这个边框,
listbox.BorderStyle = BorderStyle.None;
得到的效果为
同时,在winform程序中,请开启winform的VisualStyles,这样控件的外形就不会为经典样式了。
Application.EnableVisualStyles();
希望这条信息能够对你有所帮助。如果这不是你所遇到的情况,请让我知道。
致,
Yves Zhang [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 孤单的树 2011年1月21日 1:40
全部回复
-
很遗憾,由于"AirSpace"的原因, 你的需求是无法满足的,屏幕上一个有且只有一种技术可以去绘制他,所以这就有了"AirSpace"问题,Winform控件加入要透明,那么那些被透明的像素就无法规定属于哪种技术了,所以规定了一透明就把内容都看不见的: http://msdn.microsoft.com/zh-cn/library/aa970688.aspx
不过我记得在 WPF Programming 这本书里面好像有个实现方法的,记不清了,需要查下。。。
Best day, Best life -
孤单的树,
你好!首先感谢Jarrey作出的答案!
根据我的理解,你是想要实现WPF中用WindowsFormsHost寄宿winform控件,并且隐藏winform的固定边框。
按照你的描述我尝试写了一段代码,在WPF窗体程序中,用WindowsFormsHost保存了一个winform中ListBox,我得到的UI如下图所示
注:ListBox中只写了一个MaskedTextBox
我想知道你所指的winform固定边框是否为图中所标记的部分?因为WindowsFormsHost本身并没有边框,我们看到的边框应该是ListBox或者说是WindowsFormsHost中所保存的控件的边框。
如果是这种情况的话,我们可以用控件的BorderStyle属性来去掉这个边框,
listbox.BorderStyle = BorderStyle.None;
得到的效果为
同时,在winform程序中,请开启winform的VisualStyles,这样控件的外形就不会为经典样式了。
Application.EnableVisualStyles();
希望这条信息能够对你有所帮助。如果这不是你所遇到的情况,请让我知道。
致,
Yves Zhang [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 孤单的树 2011年1月21日 1:40