你可以尝试做这样的事情:
1)将属性getStartS类型的字符串添加到您的类中,在getter中您可以格式化您的字符串。
public class Foo
{
public int getStart { get; set; }
public string getStartS { get { return string.Format("{0:x4}", getStart); } }
}
2)在 DataGrid 列中,您可以绑定到 getStartS 属性,它会正常工作!
<DataGridTextColumn Binding="{Binding Path=getStartS}"
Header="Starting Address"
/>
或者您可以尝试第二种解决方案:
数据网格列:
<DataGridTextColumn Binding="{Binding Path=getStart, Mode=OneWay, StringFormat='{}{0:x4}'}"
Header="Starting Address"
CopyingCellClipboardContent="DataGridTextColumn_CopyingCellClipboardContent"
/>
事件处理程序:
private void DataGridTextColumn_CopyingCellClipboardContent(object sender, DataGridCellClipboardEventArgs e)
{
if (e.Column.ClipboardContentBinding != null && !string.IsNullOrEmpty(e.Column.ClipboardContentBinding.StringFormat))
{
e.Content = string.Format(e.Column.ClipboardContentBinding.StringFormat, e.Content);
}
}