2012-05-12 76 views
4

我正在開發一個記事本克隆。我想在文本板(垂直選擇)中實現塊選擇。我會怎麼做?在TextBox/RichTextBox中的塊選擇

Textpad Block Select

編輯: 我不知道什麼樣的細節應該被添加到這個問題。但是,這是我的代碼。我需要爲此文本框添加塊選擇功能。

<TextBox Name="txtContentBox" 
     Text="{Binding Content, UpdateSourceTrigger=PropertyChanged}" 
     VerticalAlignment="Stretch" 
     Background="White" 
     Foreground="#111111" 
     BorderThickness="0" 
     FontSize="{Binding FontSize}" 
     FontFamily="{Binding CurrentFont}" 
     FontStyle="{Binding IsItalic, Converter={StaticResource BoolToFontStyle}, ConverterParameter=Italic}" 
     FontWeight="{Binding IsBold, Converter={StaticResource BoolToFontWeight}, ConverterParameter=Bold}" 
     TextWrapping="{Binding IsWrap, Converter={StaticResource BoolToWrap}}"               
     SelectionBrush="#6674AAE2"        
     AcceptsReturn="True" 
     AcceptsTab="True" 
     VerticalScrollBarVisibility="Auto" 
     HorizontalScrollBarVisibility="Auto"        
     AllowDrop="True" 
     SnapsToDevicePixels="False" 
     MouseMove="txtContentBox_MouseMove" 
     PreviewMouseDown="txtContentBox_PreviewMouseDown" 
     PreviewMouseUp="txtContentBox_PreviewMouseUp"> 
    <i:Interaction.Triggers> 
     <i:EventTrigger EventName="TextChanged"> 
      <cmd:EventToCommand Command="{Binding HandleChangesCommand}" /> 
     </i:EventTrigger> 
     <i:EventTrigger EventName="PreviewMouseWheel"> 
      <cmd:EventToCommand Command="{Binding IncDecFontSizeCommand}" 
           PassEventArgsToCommand="True" /> 
     </i:EventTrigger> 
     <i:EventTrigger EventName="Drop"> 
      <cmd:EventToCommand Command="{Binding OpenCommand}" 
           PassEventArgsToCommand="True" /> 
     </i:EventTrigger> 
     <i:EventTrigger EventName="PreviewDragEnter"> 
      <cmd:EventToCommand Command="{Binding PreviewDraggedFileCommand}" 
           PassEventArgsToCommand="True" /> 
     </i:EventTrigger> 
     <i:EventTrigger EventName="PreviewDragOver"> 
      <cmd:EventToCommand Command="{Binding PreviewDraggedFileCommand}" 
           PassEventArgsToCommand="True" /> 
     </i:EventTrigger> 
    </i:Interaction.Triggers> 
</TextBox> 
+0

那些投票結束,謹慎評論你想要的其他細節? – Amsakanna

+0

我還沒有投票結束,但我確實有一個建議:你可能想要添加更多的細節。你想只是一個通用的理論描述如何做到這一點?或者你是否想要包含文本編輯器的更多細節,以便人們可以建議如何使用該特定控件進行操作? – slugster

+0

塊選擇是一個非常不尋常的要求,所以它不會被烘烤。您必須實現自己的。大多數人可能會推薦子文本框,這也是我的建議。你將無法使用任何內置的選擇邏輯,因爲它全部基於start/end char索引(這不是你想要的)的概念。基本上這個問題非常廣泛。你想嘗試縮小這個問題嗎? – JDB

回答

3

您可以使用AvalonEdit。這是一個本地WPF編輯器,具有此功能等等。