2017-05-04 26 views
0

我想使在WPF中启用ScrollBar不可选文本框我怎样才能使无法选择文本框启用滚动?

如果我设置IsReadOnly = True,它可以滚动,但可以选择文本。

如果我设置IsEnabled = True,它是不可选的,但滚动被禁用。

IsHitTestVisible = True也是不可选,禁用滚动。

如何让不可选,启用滚动文本框?

回答

1

“IsHitTestVisible”导致文本框为无效,则不能修改的内容。我希望下面的代码将满足您的要求

WPF:

<ScrollViewer Width="120" Height="50"> 
     <TextBox x:Name="txBox" SelectionBrush="Transparent" ContextMenu="{x:Null}" TextWrapping="Wrap" Text="How can I make unselectable TextBox with enable Scroll?"/> 
    </ScrollViewer> 

,如果你想限制从下面的代码文本框使用额外复制文本。背后

代码:

private void TxBox_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (txBox.SelectedText.Length > 0) 
     { 
      txBox.SelectionLength = 0; 
     } 
    } 

好日子:)

+0

哦,我的上帝! SelectionBrush =“透明”! Goooood的想法!非常感谢 !!!我可以修好它 ! :) – parfum

1

您可以设置IsHitTestVisible=false和包裹文本框与ScrollViewer中

<ScrollViewer Width="100" Height="50"> 
     <TextBox IsHitTestVisible="False" TextWrapping="Wrap">asjdla jksad lkjasd jd kla sljas kdj ksald jksad ksalj dlasj lkajs ljka sajksd</TextBox> 
    </ScrollViewer> 
相关问题