C# 滚动条以相反方向显示

C# 滚动条以相反方向显示,c#,wpf,winforms,telerik,C#,Wpf,Winforms,Telerik,我有一个WPF应用程序。 我使用telerik,在其中一个窗格中,我有一个WindowsFormsHost来托管winforms。 我的问题是:每当我调整窗格的大小,使水平滚动条变得可见时,滚动条的行为就会变得异常:如果滚动条一直向右,则显示的winforms/WindowsFormsHost一直向左,反之亦然。 我试过玩snoop,改变了流向,但是没有用(而且流向总是左向右)。 有什么想法吗 这是代码的相关部分: <telerik:RadDocking PanesSource="{Bin

我有一个WPF应用程序。 我使用telerik,在其中一个窗格中,我有一个WindowsFormsHost来托管winforms。 我的问题是:每当我调整窗格的大小,使水平滚动条变得可见时,滚动条的行为就会变得异常:如果滚动条一直向右,则显示的winforms/WindowsFormsHost一直向左,反之亦然。 我试过玩snoop,改变了流向,但是没有用(而且流向总是左向右)。 有什么想法吗

这是代码的相关部分:

<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>

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

这导致滚动条以这种方式运行(即使整个树显示从左到右)。 当我注意到当我移动滚动条时,它只会影响树(占整个长度)和表单中的工具栏时,我就知道这个bug在树中


希望这对其他人有所帮助,并感谢BugFinder引导我找到解决方案。

你的意思是,当你向右滚动时,屏幕上的数据会向左移动吗?是的,这是我的问题,但这正是它应该做的,当你向右滚动时,你正在移动以查看右侧的内容,所以东西会向左移动以腾出空间也许我不明白你的意思,当卷轴最大化到右边时,我从左边看到表单的结尾。它有一个相反的行为,例如谷歌ChROME上的滚动条如果你在屏幕中间有一个按钮,当滚动条的位置被移动到右边时,按钮就离开了…通常情况下,你必须想方设法让相反的事情发生。。因为这对于windows是不正常的
tree.RightToLeft = RightToLeft.Yes;