WindowsForm DataGridView重叠WPF控件

时间:2017-01-05 12:49:36

标签: c# wpf winforms xaml datagridview

我使用WinFormHost在WPF应用程序中使用WindowsForm控件,即DataGridView。现在的问题是,DataGridView在WPF Scrollviewer控件中,所以每当我在DataGridView中的数据及其高度自动增加时,它总是重叠所有WPF控件,当我滚动或它太长。请问我该怎么做,我也尝试过ZIndex,但没有工作。如下图所示

Without Overlap

Overlapping

1 个答案:

答案 0 :(得分:1)

托管非WPF可视组件时,这是WPF中众所周知的问题。这是由托管组件接收专用窗口句柄引起的,该窗口句柄与WPF可视树分开呈现。

以下是修复问题的一些选项:

  1. 转到WPF的数据网格如果现在有使用WinForm数据网格控件的特殊原因,请转到WPF& #39; s,它将解决您的所有问题。
  2. 可能的解决方法/黑客当用户与滚动条(或任何滚动条)进行交互时,可能会在WPF表单中创建透明区域并操纵WinForms网格WPF表格中的其他相关组件。它既丑陋又复杂,但可能有用。
  3. 使用WinForms'数据网格滚动条,而不是依赖于WPF的滚动条,只需让用户与WinForms数据网格上的内容进行互动。