`

WindowsFormsHost的使用注意

 
阅读更多
一使用
1
引用
2
xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
             xmlns:wf ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
3
由于WindowsFormsHost会指定需要用
<wfi:WindowsFormsHost>
                                                    <wfi:ElementHost>
<.................>
</wfi:ElementHost>
                                                </wfi:WindowsFormsHost>
包裹,且在最外层包裹
<Grid PreviewMouseDown="Grid_PreviewMouseDown">
                <Grid.RowDefinitions>
                    <RowDefinition></RowDefinition>
                    <RowDefinition Height="Auto"></RowDefinition>
                </Grid.RowDefinitions>
                <GroupBox Name="editGroupBox" Header="{DynamicResource ConditionOrderEdit_AddTitle}" Margin="5" Padding="0 10 0 0" BorderBrush="Gray" PreviewMouseDown="editGroupBox_PreviewMouseDown">
                    <wfi:WindowsFormsHost Name="ConditionOrderEditWindowsFormsHost" MouseDown="WindowsFormsHost_MouseDown">
                        <ElementHost>
                            <ScrollViewer Name="scrollViewer" Grid.Row="0" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" PreviewMouseDown="scrollViewer_PreviewMouseDown">

WindowsFormsHost鼠标事件响应
1
里面的控件可以响应,若使用Forms的控件注意使用System.Windows.Forms.MouseEventArgs
<wfi:WindowsFormsHost Width="80">
                                                    <wf:Button MouseDown="Button_MouseDown"/>
                                                </wfi:WindowsFormsHost>
private void Button_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            int i = 0;
        }
2
WindowsFormsHost上无法响应需要使用WinPro
3
使用鼠标事件时需注意顶层是否可以获得鼠标事件
分享到:
评论

相关推荐

    WPF中不规则窗体与WindowsFormsHost控件兼容问题的解决方法

    然而,当我们在这样的窗体中添加Windows Forms控件,如使用`WindowsFormsHost`时,可能会遇到兼容性问题,导致WinForms控件无法正常显示。这个问题主要是因为WPF的透明特性与WinForms控件的渲染机制不兼容。 为了...

    WPF嵌入EXE的窗体.rar

    实现这一目标通常需要使用`WindowsFormsHost`控件(用于嵌入WinForms组件到WPF)或者`HwndHost`类(用于嵌入任意Windows句柄,如其他WPF或WinForms窗口)。下面分别介绍这两种方法: 1. **使用WindowsFormsHost** ...

    wpf中使用Activex的方法

    同时,为了实现WPF的数据绑定,你可以使用`System.Windows.Forms.Binding`类,但请注意这可能不如直接在WPF控件中那样直接和方便。 5. **处理事件**:由于ActiveX控件的事件是基于COM的,因此你需要使用`...

    WPF 透明窗体内的 Webbrowser

    需要注意的是,由于`WebBrowser`控件使用了ActiveX技术,可能会存在兼容性和性能问题,因此在实际项目中应权衡利弊,考虑是否使用替代方案,如Chromium Embedded Framework (CEF) 或 Microsoft Edge WebView2。...

    SuperMap iObject .NET在WPF应用程序开发

    6. UI响应性:由于`WindowsFormsHost`控件可能导致UI线程阻塞,需要注意异步操作的使用,避免影响用户体验。 此外,为了优化性能和用户体验,可以考虑使用MVVM(Model-View-ViewModel)设计模式,将业务逻辑和UI...

    wpf 嵌入windform 控件

    此外,要注意的是,虽然这种混合使用可以带来灵活性,但也可能导致一些问题,如性能影响、布局管理复杂性增加等。因此,在选择嵌入WinForms控件时,应谨慎评估其必要性和潜在的问题。 总的来说,`WpfApplication1`...

    WPF控件在c#中WINFORM的应用

    然而,需要注意的是,混合使用WPF和WinForms可能会带来性能上的轻微下降,因为它们的渲染机制不同,同时维护两个不同的UI模型也可能增加代码复杂性。因此,在选择这种方法时,应根据实际需求权衡利弊。 总结,WPF...

    wpf调用WinForm程序

    3. 使用WindowsFormsHost控件:在WPF XAML文件中,引入`System.Windows.Forms.Integration`命名空间,并添加WindowsFormsHost控件。例如: ```xml xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System....

    WPF 浏览PDF 文件

    在WPF中使用Adobe PDF控件,需要安装Adobe ActiveX控件,然后像上面一样使用`WindowsFormsHost`。 **4. WebBrowser控件** 如果PDF文件存储在网络服务器上,还可以使用内置的`WebBrowser`控件,通过导航到PDF的URL来...

    Cefsharp一般用法

    为了克服这些问题,开发者可以使用WindowsFormsHost控件在WPF应用中嵌入WinForms版本的ChromiumWebBrowser,或者直接参与到CEF Issue Tracker上的相关问题讨论,以推动改进。 在开始CefSharp项目之前,确保满足所有...

    Wpf调用OCX实例.zip

    1. **使用Windows Form宿主容器(WindowsFormsHost)**:这是最常见且推荐的方法。WPF提供了一个名为`WindowsFormsHost`的控件,它可以承载WinForms控件,包括OCX控件。首先,在WPF XAML文件中引入`System.Windows....

    PDF控件的使用方法

    请注意,上述代码仅作为示例,实际应用中可能需要处理更多的细节,如错误处理、事件响应以及PDF文档的加载和导航等。此外,Adobe Reader也提供了类似的ActiveX控件,但在某些情况下,开发者可能会发现Foxit Reader的...

    wpf加flash

    **三、注意事项** 1. **安全性和权限**:使用ActiveX控件时,需要考虑安全性和权限问题,因为这涉及到在用户的机器上运行不受信任的代码。 2. **版本兼容性**:确保Flash Player版本与SWF文件兼容,以及与目标操作...

    WPF调用Winform 的控件

    3. 将WinForms控件嵌入到WPF布局:为了在WPF窗口中显示WinForms控件,你需要使用`WindowsFormsHost`控件,它是专为嵌入WinForms控件设计的。 ```xml &lt;WindowsFormsHost x:Name="winformsHost"&gt; &lt;/...

    WPF中显示GIF图片

    首先,为了在WPF中使用Winform控件,我们需要引入`WindowsFormsHost`元素。这个元素允许我们在WPF界面中嵌入Winform控件。以下是一个简单的示例,展示了如何在WPF XAML文件中添加WindowsFormsHost并放置PictureBox:...

    dotnet应用程序播放flash

    一种常见方法是使用WindowsFormsHost控件作为桥梁,将Windows Forms的FlashPlayer控件嵌入到WPF应用中。首先,需要在WPF项目中引用`WindowsFormsIntegration`和`System.Windows.Forms`命名空间,然后创建一个`...

    WPF中实现对Flash的播放及(循环)截图

    需要注意的是,由于安全限制,与Flash ActiveX控件交互可能会受到浏览器沙箱的限制,因此可能需要调整Flash的沙箱设置,或者在特定的信任级别下运行应用程序。 总的来说,要在WPF中实现Flash播放和循环截图,你需要...

    window窗体与wpf窗体相互调用

    5. 注意事项 - 跨技术栈调用时,需确保引用正确的库(如System.Windows.Forms和System.Xaml)。 - 设计时可视化可能会受到限制,通常需要在运行时动态加载和配置控件。 - 确保正确处理线程问题,因为WinForms和...

    AE 在wpf中开发

    在WPF中使用ArcGIS Engine开发时,需要注意以下几点: - 由于WPF不直接支持Windows Forms控件,所以需要通过WindowsFormsHost控件来承载AE的控件。 - 授权许可管理需要特别处理,因为ArcGIS Engine的许可控件不适用...

    winform和wpf的相互调用

    通过使用`WindowsFormsHost`的`Child`属性,我们可以访问并操作Winform控件。 相反,如果要在Winform中调用WPF控件,通常需要创建一个新的WPF窗口,然后使用`ElementHost`控件来承载这个窗口。`ElementHost`是...

Global site tag (gtag.js) - Google Analytics