2013-04-11 80 views
2

我正在使用RichEditBox来允许用户输入文本(C#Windows 8) 我也允许在屏幕上重新定位RichEditBox 但是通过触摸屏和手指滚动文本而不是重新定位控件 如果使用鼠标,RichEditBox被重新定位在屏幕上如何禁用richeditbox垂直滚动

我试图禁用RichEditBox中的文本滚动以消除此问题。试图用

ScrollViewer.VerticalScrollModeProperty = ScrollBarVisibility.Disabled; 

给出了错误: 属性或索引“Windows.UI.Xaml.Controls.ScrollViewer.VerticalScrollModeProperty”不能被分配到 - 它是只读

有什么办法来禁用在RichEditBox 或任何其他方式来解决这个问题的文字滚动?

回答

0

你有两个问题:

  1. 你试图VerticalScrollModeProperty设置的东西,不改变滚动模式 - “ScrollBarVisibility.Disabled”改变滚动条的可见性,但它不”禁用滚动。相反,你会想使用“ScrollMode.Disabled”。

  2. VerticalScrollModeProperty是一个只能用getter(element.getValue(...))检索并用setter(element.setValue(...))更改的属性。有些属性需要你这样做,而不是直接访问它们(这是你用ScrollViewer.VerticalScrollModeProperty = someValue语法所要做的)。将来,如果你得到了上面的错误,那么你的下一步就是尝试使用该属性的getValue()和setValue()来代替。

因此!如果要禁用对事物的C#侧垂直滚动(因为你试图上面做的),使用此:

editBoxName.setValue(VerticalScrollModeProperty, ScrollMode.Disabled); 

如果在样式表(如StandardStyles.xaml)是并要设置此属性,而不是这样做编程有(说你要带滚动停用多RichEditBox元素),试试这个:

<Style x:Key="styleName" TargetType="RichEditBox"> 
    <Setter Property="ScrollViewer.VerticalScrollMode" Value="Disabled" /> 
    <!-- your other RichEditBox properties can go here, if you'd like --> 
</Style> 

最后一点 - 如果你去样式表路线,让你RichEditBox正确使用该样式( “styleName”),您需要在实例化RichEditBox的XAML中执行以下操作:

<RichEditBox x:Name="myEditBox" Style="{StaticResource ResourceKey=styleName}" /> 
0

得到它与禁用的ScrollViewer的模式,而不是性质的工作:

<RichEditBox AcceptsReturn="True" IsSpellCheckEnabled="True" 
         ScrollViewer.VerticalScrollMode="Disabled" 
         ScrollViewer.HorizontalScrollMode="Disabled" 
         TextWrapping="Wrap" IsTapEnabled="True" IsHoldingEnabled="True" 
         IsDoubleTapEnabled="True" IsRightTapEnabled="True" 
         IsReadOnly="False" Height="{Binding Height}" 
         Width="{Binding Width}" TextAlignment="{Binding TextAlignment}" 
         FontFamily="{Binding FontFamily}" FontSize="{Binding FontSize}" 
         ManipulationMode="All" GotFocus="TextItem_GotFocus" KeyDown="TextItem_KeyDown"        
         ManipulationDelta="EditBox_ManipulationDelta"/>