2017-05-04 9 views
0

내가 만들고 싶습니다 WPF에서 ScrollBar가 활성화 된 선택 취소 할 수있는 텍스트 상자.스크롤 기능을 사용하여 선택 취소 가능한 TextBox를 만들려면 어떻게해야합니까?

IsReadOnly = True으로 설정하면 스크롤 할 수 있지만 텍스트를 선택할 수 있습니다.

IsEnabled = True으로 설정하면 선택이 취소되지만 스크롤 할 수 없게됩니다.

IsHitTestVisible = True도 선택 취소 할 수 있습니다. 스크롤을 비활성화합니다.

선택 취소 가능한 활성화 된 스크롤 TextBox를 만들려면 어떻게해야합니까?

답변

1

'IsHitTestVisible'로 비활성 할 텍스트 상자를 리드 당신은 내용을 수정할 수는 없습니다. 당신이 추가로 코드 아래 텍스트 상자 사용에서 복사 할 텍스트를 제한하려는 경우

<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> 

: 당신의 요구 사항

WPF를 충족 코드 아래 바랍니다. 뒤에

코드 :

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>