wpf - 使用自定义列启用 DataGrid 复制

标签 wpf wpfdatagrid datatemplate

我有一个 DataGrid,其中我有带有列模板的自定义列来插入特殊的工具提示。这样做时,如何启用将此数据复制到剪贴板?

我的 DataGrid 的 XAML 代码:

<DataGrid x:Name="CapabilityGrid" IsReadOnly="True" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTemplateColumn Header="Variable">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Name}" ToolTip="{Binding Name, Converter={StaticResource tooltipConverter}}" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
        <DataGridTemplateColumn Header="Value">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Value}"></TextBlock>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

最佳答案

您可以使用 ClipboardContentBinding

Gets or sets the binding object to use when getting or setting cell content for the clipboard.



所以在 XAML 中你可以做到
<DataGridTemplateColumn Header="Value" ClipboardContentBinding="{Binding Value}">

关于wpf - 使用自定义列启用 DataGrid 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24161543/

相关文章:

c# - 覆盖任务栏命令 "Close all Windows"的处理

WPF 水平数据网格

.net - 在 WPF 功能区应用程序菜单中使用 DataTemplate 时会出现其他嵌套级别

c# - 在 WPF DataGrid 中保留用户定义的排序顺序

wpf - 为代码中创建的 DataGridTemplateColumn 添加数据绑定(bind)

c# - 在 DataTemplate 上找不到 TargetType 属性

c# - Direct X 和 WPF 集成

wpf - 当 AutoGenerateColumns ="True"时如何使数据网格的特定列成为组合框

c# - 以编程方式将项目添加到 ComboBox

wpf - 单击编辑 WPF 数据网格,组合框模板列