轉(zhuǎn)帖|使用教程|編輯:龔雪|2016-06-02 09:25:24.000|閱讀 1185 次
概述:除了使用ApplyCellStyles方法,通過(guò)CreateCellContent方法,我們也可以實(shí)現(xiàn)單元格設(shè)置顏色和樣式的效果。 本文就在此基礎(chǔ)上討論如何可以設(shè)置選擇單元格的樣式。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
<ComponentOne Studio for WPF下載>
有了前兩篇的基礎(chǔ):單元格設(shè)置背景色和單元格前景色和字體設(shè)置,我們想要設(shè)置選擇單元格的背景色,前景色和字體樣式都會(huì)非常容易。
除了使用ApplyCellStyles方法,通過(guò)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è)置選擇的樣式。選擇的前景色,背景色可以通過(guò)SelectionBackground和SelectionForeground直接設(shè)置。其他字體樣式依然可以通過(guò)繼承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@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)