你有两个问题:
您正在尝试将 VerticalScrollModeProperty 设置为不会更改滚动模式的内容-“ScrollBarVisibility.Disabled”会更改滚动条的可见性,但不会禁用滚动。相反,您需要使用“ScrollMode.Disabled”。
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}" />