我有一个WPF表,它有一个自定义标题(基于StackPanel),其中包含一个按钮,显示和处理设置列的单位.这很好用,但我希望能够将数据复制到剪贴板,包括标题.
<DataGrid ClipboardCopyMode="IncludeHeader"
...
<DataGridTextColumn Header="Some Header" Binding={Binding Path=SomeValue}/>
<DataGridTextColumn Binding={Binding Path=OtherValue, Converter="{StaticResource unitsConverter}">
<DataGridTextColumn.Header>
<StackPanel>
<TextBlock Text="Period" />
<Button ... />
</Stackpanel>
Run Code Online (Sandbox Code Playgroud)
问题是具有自定义标头的列复制到剪贴板
SomeHeader System.Windows.Controls.StackPanel
v1 33
Run Code Online (Sandbox Code Playgroud)
有没有办法在使用自定义标题时更改标题的打印文本?
小智 7
我寻找解决方案然后结束我的自定义标头控件的子类只是为了覆盖,ToString()以便ClipboardCopyMode="IncludeHeader"复制正确的文本.
就我而言,我在标题中使用了一个图像:
class HeaderImage : Image
{
public override string ToString()
{
return Tag.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
XAML:
<DataGridCheckBoxColumn.Header>
<elements:HeaderImage Source="..\Resources\skull.png" Width="15" Tag="Deprecated"/>
</DataGridCheckBoxColumn.Header>
Run Code Online (Sandbox Code Playgroud)
现在复制/粘贴数据已经"弃用"而不是System.Windows.Controls.Image.我相信你也可以这样做StackPanel.我使用Tag作为标题文本,因为它很方便
| 归档时间: |
|
| 查看次数: |
3728 次 |
| 最近记录: |