我想写一个DataGridSeparatorColumn自定义控件,从DataGridColumn继承,强制它是2像素宽,并有黑色背景。从DataGridColumn继承的CustomControl:样式问题
public class DataGridSeparatorColumn : DataGridColumn
{
public DataGridSeparatorColumn()
{
CanUserReorder = false;
CanUserResize = false;
CanUserSort = false;
MaxWidth = 2;
MinWidth = 2;
IsReadOnly = true;
Header = "";
// TODO: Set black background and/or other visual stuff here
}
protected override FrameworkElement GenerateElement(DataGridCell cell, object dataItem)
{
//return new FrameworkElement();
return null;
}
protected override FrameworkElement GenerateEditingElement(DataGridCell cell, object dataItem)
{
//return new FrameworkElement();
return null;
}
}
我搜索了所有的东西,找到TODO代码的示例,但我没有找到任何有用的东西。任何人都可以用正确的方式指点我吗
谢谢。
PS:如果您希望列的标题也具有黑色,那么您可以通过设置DataGridColumnHeader.BackgroundProperty和列的HeaderStyle来做类似的事情。 – 2012-02-29 09:48:03
它适用于'HeaderStyle',但不适用于'CellStyle':标题单元具有预期的黑色背景,但单元格不是。 – 2012-02-29 10:12:43
我想Eirik说,你也必须设置一个-2的边距。否则,由于细胞太窄,无法看到黑色背景。 – 2012-02-29 10:21:11