gpt4 book ai didi

c# - ElementHost 中托管的 WPF 元素未正确重绘

转载 作者:行者123 更新时间:2023-11-30 13:02:58 25 4
gpt4 key购买 nike

我正在编写一个程序来在 C# 中实现 COM 组件。该组件也提供了一个 UI 组件。为了便于实现组件的 future 添加,我决定使用 WPF 在 Xaml 中编写 UI,并将其包装在 ElementHost 控件中,以便将句柄提供回 COM 使用者。

这就是有趣的地方。该元素托管在 win32 选项卡控件中。第一次选择该选项卡时,它加载正常。切换到另一个选项卡并返回会导致它无法正确绘制组件。如果我将鼠标移过它,它会绘制 TextBox 元素,但它永远不会重绘整个 UserComponent。

我已经尝试了我所看到的所有可能的解决方案,从更改组件的高度/宽度值到将 HwndTarget 置于 SoftwareOnly 渲染模式。

目前我不确定要尝试什么,欢迎提出建议。我真的很想在不使用 Windows 窗体的情况下做到这一点,因为它的 future 维护者不是最好的程序员,而且告诉他们写一个带有数据绑定(bind)的 Xaml 文件比手动布置一个窗体并设置代码隐藏中的值。

最佳答案

还没有遇到过这样的问题。切换到托管选项卡时,尝试强制刷新或聚焦(方法)到托管包装器或 HwndSource。

关于c# - ElementHost 中托管的 WPF 元素未正确重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13982066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com