4
我正在開發一個記事本克隆。我想在文本板(垂直選擇)中實現塊選擇。我會怎麼做?在TextBox/RichTextBox中的塊選擇
編輯: 我不知道什麼樣的細節應該被添加到這個問題。但是,這是我的代碼。我需要爲此文本框添加塊選擇功能。
<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>
那些投票結束,謹慎評論你想要的其他細節? – Amsakanna
我還沒有投票結束,但我確實有一個建議:你可能想要添加更多的細節。你想只是一個通用的理論描述如何做到這一點?或者你是否想要包含文本編輯器的更多細節,以便人們可以建議如何使用該特定控件進行操作? – slugster
塊選擇是一個非常不尋常的要求,所以它不會被烘烤。您必須實現自己的。大多數人可能會推薦子文本框,這也是我的建議。你將無法使用任何內置的選擇邏輯,因爲它全部基於start/end char索引(這不是你想要的)的概念。基本上這個問題非常廣泛。你想嘗試縮小這個問題嗎? – JDB