|
,wpf控件加载到form 中,响应事件不管用么
求解答
描述下。自己做个wpf程序,因为wpf显示区域用的是Window,随需求更变,要求form。
我在form 上绑定了一个ElementHost.可以成功显示。
但是xmal上的鼠标和键盘事件无法响应。
具体做法如下:
1)在form中添加- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- if (!DesignMode)
- {
- _window = new Window1();
- Grid content = _window.CloneContent();
- eHost.Child = content;
-
- }
- }
- public search.Window1 _window = null;
复制代码 2)在window 中添加:
//=================================================================
public Grid CloneContent()
{
// 克隆content
var ms = new MemoryStream();
XamlWriter.Save(this.Content, ms);
ms.Seek(0, SeekOrigin.Begin);
var clone = XamlReader.Load(ms) as Grid;
(
// 掛接必要的事件處理
VisualTreeHelper.GetChild(clone, 0) as Viewport3D).PreviewKeyDown += Viewport3D_PreviewKeyDown;
return clone;
}
谁能帮忙看看
|
|