滚动条反向/相反方向显示

问题描述:

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

你的意思是说,当你向右移动你的滚动屏幕上的数据向左? – BugFinder

+0

是的,这是我的问题 –

+0

,但这正是它应该做的,当你向右滚动,你正在移动查看右侧的东西,所以事情会左移空间 – BugFinder

后BugFinder的评论,我开始寻找在XAML/xaml.cs该代码的整体解决方案。 当我找不到任何东西时,我明白它必须在Winforms中。 显然形式的项目(这是一个树型控件)的一个了:

tree.RightToLeft = RightToLeft.Yes; 

造成滚动到行为方式(即使整个树显示是左到右)。 我知道,当我注意到当我移动滚动时,它只影响树(占用整个长度)和窗体中的工具栏,所以我知道bug在树中。

希望这可以帮助别人,并感谢你BugFinder指导我的解决方案。