首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用richeditbox垂直滚动

如何禁用richeditbox垂直滚动
EN

Stack Overflow用户
提问于 2013-04-12 02:10:06
回答 2查看 454关注 0票数 2

我使用RichEditBox允许用户输入文本(C# Windows8)我也允许在屏幕上重新定位RichEditBox,但使用触摸屏和手指时,会滚动文本而不是重新定位控件如果使用鼠标,RichEditBox会在屏幕上重新定位

我试图在RichEditBox中禁用文本滚动来消除这个问题。尝试过

代码语言:javascript
复制
ScrollViewer.VerticalScrollModeProperty = ScrollBarVisibility.Disabled;

给出错误:无法将属性或索引器'Windows.UI.Xaml.Controls.ScrollViewer.VerticalScrollModeProperty‘分配给--它是只读的

有没有办法在RichEditBox中禁用文本滚动,或者其他任何方法来解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2013-09-18 07:34:39

你有两个问题:

  1. 您正在尝试将VerticalScrollModeProperty设置为不会更改滚动模式的内容- "ScrollBarVisibility.Disabled“会更改滚动条的可见性,但不会禁用滚动。相反,您将希望使用"ScrollMode.Disabled".
  2. VerticalScrollModeProperty属性,该属性只能通过getter (element.getValue(...))检索,并使用setter (element.setValue(...))进行更改。有些属性要求您这样做,而不是直接访问它们(这就是您试图使用语法ScrollViewer.VerticalScrollModeProperty =someValue执行的操作)。将来,如果您收到上述错误,则下一步可能是尝试对该属性使用getValue()和setValue()。

所以!如果您想在C#端禁用垂直滚动(就像您在上面尝试做的那样),请使用以下命令:

代码语言:javascript
复制
editBoxName.setValue(VerticalScrollModeProperty, ScrollMode.Disabled);

如果您在样式表中(如StandardStyles.xaml),并希望在其中设置此属性,而不是通过编程方式进行设置(假设您想要禁用滚动的多个RichEditBox元素),请尝试如下所示:

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

最后注意:如果你走样式表的路线,为了正确地使用那个样式("styleName")得到你的RichEditBox,你需要在你实例化你的RichEditBox的XAML中做以下事情:

代码语言:javascript
复制
<RichEditBox x:Name="myEditBox" Style="{StaticResource ResourceKey=styleName}" />
票数 0
EN

Stack Overflow用户

发布于 2013-09-27 02:22:26

让它在禁用滚动浏览器模式而不是属性的情况下工作:

代码语言:javascript
复制
<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"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15955853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档