wpf - 在 TextBox/RichTextBox 中 block 选择

标签 wpf textbox richtextbox notepad

我正在开发记事本克隆。我想在 textpad 中实现块选择(垂直选择)。我该怎么做?

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>

最佳答案

您可以使用 AvalonEdit .它是具有此功能以及更多功能的 native WPF 编辑器。

关于wpf - 在 TextBox/RichTextBox 中 block 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10563865/

相关文章:

c# - 具有空外键的 EF 导航属性

c# - 没有 VBA 的 MS Access?

jquery - 单击 Firefox 中的文本框不会获得焦点

c# - RichTextBox 滚动到结束

WPF TreeView HierarchicalDataTemplate - 绑定(bind)到具有不同子集合的对象

c# - 当设计中已经存在一个或多个选项卡时,如何在 WPF MVVM 中动态添加选项卡控件

wpf - 如何在 WPF 中实现搜索框的默认文本?

javascript - Textbox 类 Onchange 事件监听器不适用于多个类

c# - TextBox 和 RichTextBox 在线程方面的区别

c# - 如何以不同的颜色显示文本