在 DataGridTemplateColumn 内的 TextBlock 上复制 ContextMenu 上的命令

2023-12-21

想问一下,因为以前从未在 TextBlock 上这样做过。我无法复制 DataGridTemplateColumn 的内容,其中有一个 TextBlock,并且我已为其分配了一个上下文菜单。

复制的内容是空白的。

当我在 MS Word 中尝试时,它是空白单元格。

我的模板列和上下文菜单如下。

我尝试使用文本框,但它在启用文本框并且尽管网格列是只读的情况下工作。它允许编辑,当我们禁用它时,它不会复制文本。

 <DataGridTemplateColumn Header="Details" Width="*" IsReadOnly="True">
  <DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
           <Grid>
            <TextBlock Text="{Binding details}" TextWrapping="Wrap">
              <TextBlock.ContextMenu>
                 <ContextMenu>
                    <MenuItem Header="Copy" Command="Copy"></MenuItem>    
                 </ContextMenu>   
              </TextBlock.ContextMenu>
             </TextBlock>
           </Grid>
   </DataTemplate>
 </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

为什么复制的内容是空字符串是因为 TextBlock 不支持复制、剪切和粘贴等命令TextBox。因此,如果使用 TextBlock,则需要手动支持这些命令,但可以使用 TextBox 来支持复制命令,该命令可以充当 TextBlock。请检查以下内容。

<TextBox Background="Transparent" BorderThickness="0" Text="{Binding details}" IsReadOnly="True" TextWrapping="Wrap">
    <TextBox.ContextMenu>
        <ContextMenu>
            <MenuItem Header="Copy" Command="Copy"></MenuItem>
        </ContextMenu>
    </TextBox.ContextMenu>
</TextBox>

[更新]

首先,下面的代码能正确执行吗?

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <TextBox Background="Transparent" BorderThickness="0" Text="test" IsReadOnly="True" TextWrapping="Wrap">
            <TextBox.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="Copy" Command="Copy"></MenuItem>
                </ContextMenu>
            </TextBox.ContextMenu>
        </TextBox>
    </Grid>
</Window>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 DataGridTemplateColumn 内的 TextBlock 上复制 ContextMenu 上的命令 的相关文章

随机推荐

  • MFMailComposeViewController:取消不会退出到我的应用程序?

    我正在尝试使用 MFMailComposeViewController 发送邮件 当我单击应用程序上的按钮时就会发生这种情况 当然 当我单击邮件控制器的取消按钮时 我想返回到我的应用程序视图 但它不起作用 该怎么办 这是我的代码 MFMai
  • 无法使用docker访问Web服务器

    我使用以下命令来运行容器 docker run p 3333 3333 d maill node web app 这是 docker ps 的结果 CONTAINER ID IMAGE COMMAND CREATED STATUS PORT
  • 如何在 NetBeans 中添加 JAR

    假设您创建了一个新项目 并希望它使用一些第三方库 例如 widget jar 在哪里添加这个 JAR 文件 gt gt 项目属性 gt gt 库 gt gt 编译时库 or 文件 gt gt 项目属性 gt gt 库 gt gt 运行时库
  • 是否可以在 Wildfly 中将数据源部署描述符与驱动程序模块一起使用?

    我无法使用 ds xml 部署描述符以及作为模块安装的数据库驱动程序来配置我的数据源 仅当我将数据库驱动程序直接部署为 jar 时 数据源 ds xml 文件才有效 我认为如果您选择将驱动程序安装为模块 则必须直接在standalone x
  • Visual Studio 调试器突出显示多行,而不仅仅是当前行

    这里有一个奇怪的人 当我尝试单步调试时 我全新安装的 Visual Studio 2017 版本 15 6 7 显示多行黄色 如下所示 它似乎指向它所在的正确行 但也指向它下面的其他几行 也许这与缩进或范围有关 我不确定 但当我进行结对编程
  • 有没有办法在 .NET 运行时中预分配堆,就像 Java 中的 -Xmx/-Xms 一样?

    在大多数平台和大多数 JVM 上 您可以通过将 Xmx 和 Xms 选项 或其变体 设置为相同大小来在启动时预分配堆 是否可以对 NET 执行相同的操作 如果可以 如何执行 遗憾的是 事实并非如此 NET 运行时为您做出有关堆大小和相对分代
  • 节点 --max_old_space_size 不起作用

    节点版本 6 9 x 我的申请给了我FATAL ERROR CALL AND RETRY LAST Allocation failed JavaScript heap out of memory error 所以我尝试使用更改内存分配max
  • 最大高度的子级:100% 溢出父级

    我试图了解对我来说似乎出乎意料的行为 我在容器内有一个最大高度为 100 的元素 该元素也使用了最大高度 但出乎意料的是 子元素溢出了父元素 container background blue padding 10px max height
  • 多行 WPF FormattedText 中特定字符的坐标

    如何获取多行 WPF FormattedText 中特定字符的位置 x y 坐标 我的文本可能包含斜体部分 粗体部分 不同字体 不同字体大小 不同对齐方式等 并且我需要获取第 30 个字符 可能位于第 3 行 的坐标 通过使用我可以从 Fo
  • 在 onclick 中声明一个变量?

    当有人点击某个东西然后声明一个变量时 如何在 JavaScript 中声明一个 var 具体取决于函数将返回的内容 即 true 或 false 值 就像是 onclick var varable somefunction 然后我将比较 o
  • PyDev 控制台工作目录

    当我打开 PyDev 控制台时 当前工作目录是我的 Eclipse 文件夹 如何配置控制台以使用项目文件夹作为当前工作目录 可以在工作区范围内设置吗 这个问题 https stackoverflow com questions 103199
  • Drupal:添加新节点时自动添加菜单项

    在Drupal中向页面添加节点时可以自动添加菜单项吗 换句话说 我可以将菜单父级与节点内容类型相关联 然后在添加新节点时自动添加子级吗 thanks 您可以使用 Drupal 7 上的规则来完成此操作 该模块 http drupal org
  • 为什么“删除[][]...多维数组;” C++中不存在运算符

    我一直想知道标准C 语言中是否有删除多维数组的运算符 如果我们创建了一个指向一维数组的指针 int array new int size 删除看起来像 delete array 那太棒了 但是如果我们有二维数组 我们就不能这样做 delet
  • python导入语句

    我已经开始使用 Python 大约一个月了 我遇到了一些我想更好地理解的事情 跟进口有关系 所以我有一个模块 根 核心 连接性 现在在这个模块中我定义了一个类 Connectivity 该模块还有一个 main 仅用于测试目的 不确定这是否
  • MYSQL - 将数据拆分为多行

    我使用一个应用程序导入了一些数据 该应用程序从 IMDB 收集信息并将其传输到 MYSQL 数据库中 这些字段似乎尚未标准化 并且 1 个字段中包含许多值 例如 Table Movie MovieID Movie Title Written
  • 删除div之间的空白

    我在两个 div 之间发现了一些奇怪的空白 每个div都有css属性display inline block每个都有固定的高度和宽度 我找不到空白在哪里 这是一个小提琴 http jsfiddle net RVAQp 1 那里有空格 因为
  • 如何使用 TypeScript 从 npm 扩展模块?

    我在用着joi https github com hapijs joi blob master API md and 类型 joi https github com DefinitelyTyped DefinitelyTyped tree
  • 无法获得 D-Bus 连接:不允许操作

    我正在尝试在 docker centos7 映像上安装 ambari 2 6 但在 ambari 设置步骤中以及在初始化 postgresql 数据库时 我收到此错误 无法获得 D Bus 连接 不允许操作 每次我尝试在 Docker 映像
  • swagger 正在添加上下文根两次

    我正在使用 swagger 3 0 0 SNAPSHOT 和 spring data rest 我的应用程序属性文件中有上下文配置 server servlet context path sample 我的swagger配置如下 Confi
  • 在 DataGridTemplateColumn 内的 TextBlock 上复制 ContextMenu 上的命令

    想问一下 因为以前从未在 TextBlock 上这样做过 我无法复制 DataGridTemplateColumn 的内容 其中有一个 TextBlock 并且我已为其分配了一个上下文菜单 复制的内容是空白的 当我在 MS Word 中尝试