Wpf GridSplitter被WinForm元素隐藏

Wpf GridSplitter被WinForm元素隐藏,wpf,winforms,xaml,gridsplitter,Wpf,Winforms,Xaml,Gridsplitter,我在WPF应用程序中工作。我的问题是关于GridSplitter的可见性 在我的xaml代码中,我正在维护一个网格。在网格的第三行,我托管了一个WinFormDataGridView。在同一行中,将写入GridSplitter 拖动GridSplitter以调整网格行大小时,对于按钮等其他控件,它将正确可见。 但是当它经过我托管的DataGridView时,GridSplitter隐藏在托管控件后面 事实上,无论我承载什么而不是Datagridview,当GridSplitter被拖动时,它都会

我在WPF应用程序中工作。我的问题是关于GridSplitter的可见性

在我的xaml代码中,我正在维护一个网格。在网格的第三行,我托管了一个WinFormDataGridView。在同一行中,将写入GridSplitter

拖动GridSplitter以调整网格行大小时,对于按钮等其他控件,它将正确可见。 但是当它经过我托管的DataGridView时,GridSplitter隐藏在托管控件后面

事实上,无论我承载什么而不是Datagridview,当GridSplitter被拖动时,它都会隐藏在它后面

我尝试为GridSplitter设置ZIndex。这没有任何区别

有人能帮我吗

以下是我的XAML示例代码:-

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Name="rowForButton"/>
        <RowDefinition Name="rowForGridSplitter" Height="Auto" MinHeight="81" />
    </Grid.RowDefinitions>
    <Button Grid.Row="0" Height="50" Width="110" Content="Button in First Row"/>
    <my:WindowsFormsHost Panel.ZIndex="0" Grid.Row="1"  Margin="30,11,138,0" x:Name="winHost" Height="58" VerticalAlignment="Top" OpacityMask="Transparent">            
        <win:DataGridView x:Name="dataGridView"></win:DataGridView>
    </my:WindowsFormsHost>        
    <GridSplitter  BorderThickness="1" Panel.ZIndex="1" Grid.Row="1" HorizontalAlignment="Stretch" Height="5" ShowsPreview="True" VerticalAlignment="Top">
    </GridSplitter>
</Grid>


谢谢。

不幸的是,WinForms控件始终位于WPF元素的顶部,当您尝试滚动它时,它也会这样做。解决此问题的最佳方法是将调整/滚动/任何WinForms部分所需的逻辑放入WinForms控件中,然后将该控件托管在WPF表单中。

您的网格只有2行定义,但需要3行定义。此时,WindowsFormsHost和GridSplitter正在共享第二行(即Grid.row=“1”)。您可能希望Windows窗体必须使用Grid.Row=“2”。

的副本。你知道你可以编辑你的问题并向其中添加信息吗?因为一些问题,我不能这样做。对不起(大小调整逻辑,即我使用的GridSplitter控件,我无法将其放入Win forms控件中,因为我要承载的控件是第三方控件。