gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 14:41:40 39 4
gpt4 key购买 nike

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

复制的内容是空白的。

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

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

我尝试使用 TextBox 但是当启用文本框并且尽管网格列是只读的时它仍然有效。它允许编辑,当我们禁用它时,它不会复制文本。

 <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>

关于wpf - 在 DataGridTemplateColumn 内的 TextBlock 上复制 ContextMenu 上的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7909390/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com