Wpf GridSplitter被WinForm元素隐藏
我在WPF应用程序中工作。我的问题是关于GridSplitter的可见性 在我的xaml代码中,我正在维护一个网格。在网格的第三行,我托管了一个WinFormDataGridView。在同一行中,将写入GridSplitter 拖动GridSplitter以调整网格行大小时,对于按钮等其他控件,它将正确可见。 但是当它经过我托管的DataGridView时,GridSplitter隐藏在托管控件后面 事实上,无论我承载什么而不是Datagridview,当GridSplitter被拖动时,它都会隐藏在它后面 我尝试为GridSplitter设置ZIndex。这没有任何区别 有人能帮我吗 以下是我的XAML示例代码:-Wpf GridSplitter被WinForm元素隐藏,wpf,winforms,xaml,gridsplitter,Wpf,Winforms,Xaml,Gridsplitter,我在WPF应用程序中工作。我的问题是关于GridSplitter的可见性 在我的xaml代码中,我正在维护一个网格。在网格的第三行,我托管了一个WinFormDataGridView。在同一行中,将写入GridSplitter 拖动GridSplitter以调整网格行大小时,对于按钮等其他控件,它将正确可见。 但是当它经过我托管的DataGridView时,GridSplitter隐藏在托管控件后面 事实上,无论我承载什么而不是Datagridview,当GridSplitter被拖动时,它都会
<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控件中,因为我要承载的控件是第三方控件。