我想寫一個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