我有一个WPF应用程序。 我使用telerik,在其中一个窗格中我有一个WindowsFormsHost来托管winforms。 我的问题:每当我以水平滚动条变得可见的方式调整窗格大小时,滚动条的行为方式很糟糕:如果滚动条一直向右,那么显示的winforms / WindowsFormsHost一直是左边,反之亦然。 我尝试过使用snoop,更改FlowDirection但它没有帮助(并且FlowDirection始终是LeftToRight)。 有什么想法吗?
这是代码的相关部分:
<telerik:RadDocking PanesSource="{Binding Items}" telerik:RadDocking.SerializationTag="itemDocking" x:Name="itemDocking" BorderBrush="Transparent" BorderThickness="
<telerik:RadDocking.DocumentHost>
<telerik:RadSplitContainer BorderBrush="Transparent" BorderThickness="0">
<telerik:RadPaneGroup BorderBrush="Transparent" BorderThickness="0">
<telerik:RadDocumentPane BorderBrush="Transparent" BorderThickness="0" telerik:RadDocking.SerializationTag="MainItemHost" IsHidden="False" Visibility="Collapsed" CanUserClose="False">
<WindowsFormsHost x:Name="itemFormsHost">
</WindowsFormsHost>
</telerik:RadDocumentPane>
</telerik:RadPaneGroup>
</telerik:RadSplitContainer>
</telerik:RadDocking.DocumentHost>
答案 0 :(得分:0)
在BugFinder评论之后,我开始在xaml / xaml.cs中查找该代码的整个解决方案。 当我找不到任何东西时,我明白它必须在Winforms中。 显然,表单中的一个项目(树控件)有一个:
tree.RightToLeft = RightToLeft.Yes;
导致滚动以这种方式行动(即使整个树显示是从左到右)。 当我发现移动滚动时它只影响树(占据整个长度)和工具栏中的工具栏时,我明白错误在树中。
希望这有助于某人,并感谢BugFinder指导我找到解决方案。