<ComponentOne Studio for WPF下載>ide
對於C1FlexGrid,如何給單元格設置樣式(包括前景色,背景色)是提出最多的問題。本文就經過示例介紹如何給C1FlexGrid設置特定單元格的樣式。一般狀況,咱們經過C1FlexGrid的CellFactory實現樣式的設置,經過重寫ApplyCellStyles方法來實現。post
首先,咱們須要對c1flexgrid進行數據綁定顯示數據。在這裏,咱們假設綁定一個DataTable,代碼以下:flex
1spa 23d 3code 4blog 5繼承 6ip 7ci 8 9 10 11 12 13 14 15 16 17 18 |
|
自定義一個MyCellFactory類繼承CellFactory,而且設置給C1FlexGrid。代碼以下:
1 |
|
經過重寫CellFactory的ApplyCellStyles方法,來實現指定單元格的樣式設置。經過bdr拿到單元格的TextBlock,而且設置TextBlock的文字樣式(好比FontWeight,FontSize)。以及bdr設置背景色。代碼參考:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
這個時候運行代碼,就發現column=2, row=3的單元格的樣式已經改變,如圖:
這個時候樣式已經設置完成。可是當選擇到指定的單元格的時候,這個樣式會保持不變。有的用戶就但願本來的Selection 的樣式可以保留。咱們經過改進代碼來實現這個需求:這個時候,咱們須要添加一個判斷條件,來判斷指定單元格是否被選擇。判斷條件:
1 |
|
若是指定單元格被選擇,就將背景色設置爲選擇背景色。這個時候的改進方法以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
至此,就實現了指定單元格的背景色設置。
本文的示例請下載:Wpf_Flex_CellstyleOnCell.zip