启用自定义列的DataGrid复制

4

我有一个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>
1个回答

7
你可以使用 ClipboardContentBinding

获取或设置绑定对象,用于在剪贴板中获取或设置单元格内容。

所以在XAML中,你可以这样做:
<DataGridTemplateColumn Header="Value" ClipboardContentBinding="{Binding Value}">

这很棒 - 但好像无法将字符串格式应用到该绑定上? - Shumii
1
@Shumii 我认为你不能这样做。StringFormat 只能在目标是字符串类型时才有效。 - dkozl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接