滚动条以反向/反向显示

时间:2016-03-15 14:48:33

标签: c# wpf winforms telerik

我有一个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>

1 个答案:

答案 0 :(得分:0)

在BugFinder评论之后,我开始在xaml / xaml.cs中查找该代码的整个解决方案。 当我找不到任何东西时,我明白它必须在Winforms中。 显然,表单中的一个项目(树控件)有一个:

tree.RightToLeft = RightToLeft.Yes;

导致滚动以这种方式行动(即使整个树显示是从左到右)。 当我发现移动滚动时它只影响树(占据整个长度)和工具栏中的工具栏时,我明白错误在树中。

希望这有助于某人,并感谢BugFinder指导我找到解决方案。