jjzjj

WindowsformsHost

全部标签

wpf - 使用 WindowsformsHost 将报表查看器插入 WPF 应用程序时出现问题

我正在尝试从我的WPF应用程序创建一个弹出窗口,它显示一个托管在WindowsFormsHost中的报表查看器但是我在使用以下Xaml时遇到问题我收到构建错误通知我“未找到类型‘my:WindowsFormsHost’。确认您没有缺少程序集引用并且所有引用的程序集都已构建”我在我的XAML中犯了错误吗我已将WindowsFormsIntegration添加为对我的项目的引用。谢谢你的帮助上校 最佳答案 人们似乎忽略了第二种解决方案。我在这个问题上挠了挠头足足有20分钟。包括这个在内的任何解决方案都行不通。结果我的解决方案是添加:Wi

c# - 我什么时候可以处理 IDisposable WPF 控件,例如Windows 窗体主机?

WPF控件WindowsFormsHost继承自IDisposable。如果我有一个包含上述某些控件的复杂WPF可视化树,我可以使用什么事件或方法在关闭期间调用IDispose? 最佳答案 在应用程序关闭的情况下,您无需执行任何操作即可正确处理WindowsFormsHost。由于它派生自HwndHost,因此在Dispatcher关闭时处理处理。如果您使用Reflector,您会看到在初始化HwndHost时它会创建一个WeakEventDispatcherShutdown。如果您在对话框中使用它,我建议的最好的办法是覆盖OnCl

c# - 如何通过 DevExpress 以编程方式关闭所有 WPF 菜单、弹出窗口等以解决与 WindowsFormsHost 相关的问题?

我希望它的行为就像您在应用程序的某处单击一样。(折叠所有菜单、下拉菜单等)实际上,我正在尝试解决在使用WindowsFormsHost的WPF应用程序中托管Windows窗体控件时遇到的与互操作性相关的焦点问题:如果DevExpress的WPF菜单/弹出窗口打开并且您单击Windows窗体控件,菜单/弹出窗口不会自动关闭。现在我在WindowsFormsHost中有很多Windows窗体控件,在WPF区域中也有很多DevExpress控件。为了轻松解决这个问题,我添加了一个消息过滤器来Hook应用程序中的所有点击,然后我查看点击的控件是否是Windows窗体控件。然后我需要做一些事情来