2013-01-31 32 views
4

在WPF应用程序中,如何获得一个文本框,该框可根据不同的场景进行编辑或不可编辑,但仍具有滚动条,两种情况下的文字。现在文本框配置为:将滚动条保存在WPF应用程序的可编辑和不可编辑文本框中

VerticalScrollBarVisibility="Auto" 
IsEnabled="(either False or true)" 

现在即使滚动条出现,我无法滚动文本框时禁用文本框。

即使IsReadOnly也没有帮助。

我需要两种场景中的滚动选项。

+0

这应该如果你工作使用IsReadOnly而不是IsEnabled。也许你可以提供更多关于你如何使用它的信息,看看它为什么不适合你。 –

+0

使用IsReadOnly虽然滚动已启用,但TextBox的样式会变为白色背景。 – ABCD

+0

这是很奇怪的风格改变,它通常不应该,但作为最后的手段你可以尝试设置焦点属性为False,用户将无法突出显示内部文本虽然(或做任何其他的事情使用常规的输入方法,如鼠标或键盘,可能还有触摸屏或其他任何东西)。 – Grx70

回答

7

这个问题的答案是做的评论说:而不是使用IsEnabled使用IsReadOnly,并使用下面的制定者,以获得残疾人风格:

<Setter Property="Panel.Background" TargetName="Bd" Value="{DynamicResource ResourceKey={x:Static SystemColors.ControlBrushKey}}" /> 
<Setter Property="TextElement.Foreground" Value="{DynamicResource ResourceKey={x:Static SystemColors.GrayTextBrushKey}}" /> 

source