c# - 文本 block 和标签 wpf 上的文本选择

标签 c# .net wpf xaml

我有一个表单,其中包括文本 block 、标签和边框。我希望能够用鼠标选择文本,就像它是 MS Word 或 HTML 表格中表格中的一些文本一样。而且我不能改用 TextBox 或 RichTextBox。有没有办法实现我的目标?

<Grid Margin="20">
<Grid.RowDefinitions>
    <RowDefinition Height="auto"/>
    <RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Border BorderBrush="Black" BorderThickness="1">
    <StackPanel Orientation="Horizontal">
        <TextBlock Text="some text in TextBlock" VerticalAlignment="Center"/>
        <Label Content="another text in Label"/>
    </StackPanel>
</Border>
<Border Grid.Row="1" BorderBrush="Black" BorderThickness="1">
    <StackPanel Orientation="Horizontal">
        <TextBlock Text="one more  in TextBlock" VerticalAlignment="Center"/>
        <Label Content="one more text in Label"/>
    </StackPanel>
</Border>

最佳答案

使用 TextBox 而不是 TextBlock,如以下代码:

<TextBox
     Background="Transparent"
     TextWrapping="Wrap"
     Text="{Binding Desired, Mode=OneWay}"
     IsReadOnly="True"
     BorderThickness="0"/>

为了使它更干净,为 TextBlock 创建一个模板并在其中使用之前的 TextBox。

关于c# - 文本 block 和标签 wpf 上的文本选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34724412/

相关文章:

c# - 当用户未在 Blazor 中获得授权时,我想显示带有路由的多个页面

c# - 实现IQueryable包装器来转换结果对象

.net - Serilog 覆盖文件

sql - 如何让 INotifyPropertyChanged 从存储在 SQL 中的列表中更新绑定(bind)项目?

c# - 如何使用属性更改 TimePicker 格式

c# - TLS 1. 2 客户端和服务器无法通信,因为它们不具备通用算法

c# - 以编程方式将标题设置为 XtraReport 中的查看器表单

c# - 禁用图片框上的图片混合(Windows 窗体 c#)

.net - 我对 async/await、它的工作原理及其优点的理解是否正确?

c# - 关于使用带有 C# Gui 的 QT 后端的好资源