轉(zhuǎn)帖|使用教程|編輯:龔雪|2016-06-02 09:25:24.000|閱讀 1195 次
概述:除了使用ApplyCellStyles方法,通過CreateCellContent方法,我們也可以實(shí)現(xiàn)單元格設(shè)置顏色和樣式的效果。 本文就在此基礎(chǔ)上討論如何可以設(shè)置選擇單元格的樣式。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
<ComponentOne Studio for WPF下載>
有了前兩篇的基礎(chǔ):單元格設(shè)置背景色和單元格前景色和字體設(shè)置,我們想要設(shè)置選擇單元格的背景色,前景色和字體樣式都會(huì)非常容易。
除了使用ApplyCellStyles方法,通過CreateCellContent方法,我們也可以實(shí)現(xiàn)單元格設(shè)置顏色和樣式的效果。 本文就在此基礎(chǔ)上討論如何可以設(shè)置選擇單元格的樣式。
CreateCellContent方法設(shè)置單元格樣式代碼參考:
public override void CreateCellContent(C1FlexGrid grid, Border bdr, CellRange rng)
{
base.CreateCellContent(grid, bdr, rng);
var tb = bdr.Child as TextBlock;
if (tb != null && rng.Column == 2)
{
ContentPresenter cp = (VisualTreeHelper.GetParent(tb) as ContentPresenter);
System.Windows.Media.RotateTransform rotateTransform = new RotateTransform();
rotateTransform.Angle = 50;
tb.LayoutTransform = rotateTransform;
}
}
效果:

了解了這些知識(shí),我們就可以運(yùn)用這些知識(shí)設(shè)置選擇的樣式。選擇的前景色,背景色可以通過SelectionBackground和SelectionForeground直接設(shè)置。其他字體樣式依然可以通過繼承MyCellFactory的方法實(shí)現(xiàn)(CreateCellContent或是ApplyCellStyle)實(shí)現(xiàn)。
在方法里添加選擇的判斷,當(dāng)選擇的時(shí)候改變選擇的樣式,代碼參考:
public override void CreateCellContent(C1FlexGrid grid, Border bdr, CellRange rng)
{
base.CreateCellContent(grid, bdr, rng);
var columnindex = rng.Column;
var rowindex = rng.Row;
var tb = bdr.Child as TextBlock;
bool selected = (columnindex == grid.Selection.Column && rowindex == grid.Selection.Row);
if (tb != null && selected)
{
ContentPresenter cp = (VisualTreeHelper.GetParent(tb) as ContentPresenter);
System.Windows.Media.RotateTransform rotateTransform = new RotateTransform();
rotateTransform.Angle = 50;
tb.LayoutTransform = rotateTransform;
tb.FontWeight = FontWeights.Bold;
tb.FontSize = 14;
}
}
注意在SelectionChanged事件調(diào)用下刷新:
void flex_SelectionChanged(object sender, CellRangeEventArgs e)
{
flex.Invalidate();
}
效果如圖:

本文的示例請(qǐng)下載:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)