一種WPF中表格系統(tǒng)及實(shí)現(xiàn)方法,涉及WPF領(lǐng)域,包括內(nèi)容承擔(dān)單元、邊框單元和容器單元,步驟為:S1.通過容器單元,根據(jù)需求定義表格行列數(shù),并循環(huán)計(jì)算每一行的行高和每一列的列寬;S2.遍歷表格,到達(dá)對應(yīng)的行列后,通過內(nèi)容承擔(dān)單元對表格中的單元格添加文本;S3.采用邊框單元設(shè)置表格邊框的寬度和顏色,并且遍歷所有單元格,通過每個單元格添加兩個控件GridSplitter,分別改變單元格的行高和列寬;S4.將創(chuàng)建后的表格保存成XML文件;本發(fā)明專利技術(shù)能夠?qū)卧襁M(jìn)行拆分、合并和樣式設(shè)置,提升用戶體驗(yàn)。
A table system in WPF and its implementation method
A table in the WPF system and the realization method relates to WPF field, including bear unit, frame unit and container unit, which comprises the following steps: S1. through the container unit, according to the requirements definition table ranks number and cycle was calculated for each row and each column of the high Lecoing; S2. traversal form to the corresponding ranks later, through the unit to take a cell in a table to add text; using S3. frame unit set the table border width and color, and traversal of all cells, each cell by adding two GridSplitter controls, were changed to a row of cells and Lecoing; S4. will create the table saved as XML files; the invention can split, merge and style settings of a cell, enhance the user experience.
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種WPF中表格系統(tǒng)及實(shí)現(xiàn)方法
本專利技術(shù)涉及WPF領(lǐng)域,具體來講涉及一種WPF中表格系統(tǒng)及實(shí)現(xiàn)方法。
技術(shù)介紹
WPF(WindowsPresentationFoundation,Windows呈現(xiàn)基礎(chǔ))是微軟推出的基于WindowsVista的用戶界面框架,屬于.NETFramework3.0的一部分。WPF提供了統(tǒng)一的編程模型、語言和框架,真正做到了分離界面設(shè)計(jì)人員與開發(fā)人員的工作;同時它提供了全新的多媒體交互用戶圖形界面。表格控件是一套控件組件,用戶可以通過其實(shí)現(xiàn)表格內(nèi)容及樣式編輯、表格大小調(diào)整、以及單元格合并與拆分等一些功能。由于WPF現(xiàn)有的承載列表的技術(shù)方案是DataGrid控件,該控件可以顯示一般的列表數(shù)據(jù),但是沒有辦法實(shí)現(xiàn)單元格的合并、拆分等表格功能,WPF自帶的表格控件不能對單元格進(jìn)行拆分、合并和樣式設(shè)置,用戶體驗(yàn)不好。
技術(shù)實(shí)現(xiàn)思路
針對現(xiàn)有技術(shù)中存在的缺陷,本專利技術(shù)的目的在于提供一種WPF中表格系統(tǒng)及實(shí)現(xiàn)方法,能夠?qū)卧襁M(jìn)行拆分、合并和樣式設(shè)置,提升用戶體驗(yàn)。為達(dá)到以上目的,本專利技術(shù)采取一種WPF中表格系統(tǒng),表格由單元格作為基礎(chǔ)組件,所述系統(tǒng)包括:內(nèi)容承擔(dān)單元,用于構(gòu)建單元格對象,包括文本樣式和背景顏色;邊框單元,用于構(gòu)建單元格邊框樣式,還用于拖動邊框更改行高和列寬;容器單元,包括表格容器和單元格容器,所述表格容器用于定義表格的行、列數(shù)、計(jì)算行高和列寬、以及合并單元格和拆分單元格,所述單元格容器用于支持內(nèi)容承擔(dān)單元和邊框單元。在上述技術(shù)方案的基礎(chǔ)上,所述容器單元采用WPF中布局控件Grid,內(nèi)容承擔(dān)單元采用富文本框控件RichTextBox,邊框單元采用控件GridSplitter。本專利技術(shù)還提供一種WPF中表格實(shí)現(xiàn)方法,包括:S1.通過容器單元,根據(jù)需求定義表格行列數(shù),并循環(huán)計(jì)算每一行的行高和每一列的列寬;S2.遍歷表格,到達(dá)對應(yīng)的行列后,通過內(nèi)容承擔(dān)單元對表格中的單元格添加文本;S3.采用邊框單元設(shè)置表格邊框的寬度和顏色,并且遍歷所有單元格,通過每個單元格添加兩個控件GridSplitter,分別改變單元格的行高和列寬;S4.將創(chuàng)建后的表格保存成XML文件;表格建成后,合并單元格時,選中單元格所在的起始行列以及所占行列數(shù),設(shè)置選中區(qū)域的第一個單元格跨行跨列顯示,并將其他單元格的內(nèi)容合并到第一個單元格中顯示,然后刪除其他單元格;拆分單元格時,獲取選中的單元格,在表格容器中添加對應(yīng)的行列,并在其中創(chuàng)建單元格,將原單元格內(nèi)容設(shè)置到新創(chuàng)建的第一個單元格中。在上述技術(shù)方案的基礎(chǔ)上,所述容器單元采用WPF中布局控件Grid,內(nèi)容承擔(dān)單元采用富文本框控件RichTextBox,邊框單元采用控件GridSplitter。在上述技術(shù)方案的基礎(chǔ)上,所述S2中,富文本框控件RichTextBox不僅對文本進(jìn)行統(tǒng)一的樣式修改,還支持單獨(dú)文字修改為獨(dú)立的樣式。在上述技術(shù)方案的基礎(chǔ)上,所述S2中,如果單元格存在背景色,將布局控件Grid的背景設(shè)置對應(yīng)的顏色,并將單元格容器定位到表格容器對應(yīng)的行列處。在上述技術(shù)方案的基礎(chǔ)上,所述S3中,通過修改控件GridSplitter的樣式改變邊框的樣式,拖動控件GridSplitter通過改變表格容器中左右布局的大小,實(shí)現(xiàn)行高和列寬的改變。在上述技術(shù)方案的基礎(chǔ)上,所述S3中,所述改變邊框的樣式通過畫刷DrawingBrush繪制控件GridSplitter的背景,包括繪制顏色和矢量圖形。在上述技術(shù)方案的基礎(chǔ)上,所述拆分單元格時,如果選中單元格為已合并成一行的兩行單元格,將其拆分成一個3*3的9個單元格,設(shè)置表格容器多加一行,9個單元格分別放置在三行中,同時原選中單元格外的第一行不變,第二行跨兩行布局。本專利技術(shù)的有益效果在于:能夠?qū)崿F(xiàn)基本表格功能,包括自定義行列數(shù)、編輯單元格文字樣式、調(diào)整單元格邊框樣式、修改單元格背景色和大小等功能,滿足了日常使用的需求,提升用戶體驗(yàn);并且實(shí)現(xiàn)了相鄰單元格的合并操作,以及將單元格內(nèi)部拆分成指定行列表格的功能。附圖說明圖1為本專利技術(shù)實(shí)施例WPF中表格系統(tǒng)示意圖;圖2為本專利技術(shù)實(shí)施例WPF中表格實(shí)現(xiàn)方法的流程圖;圖3為本專利技術(shù)實(shí)施例合并單元格的流程圖;圖4為本專利技術(shù)實(shí)施例拆分單元格的流程圖。具體實(shí)施方式以下結(jié)合附圖及實(shí)施例對本專利技術(shù)作進(jìn)一步詳細(xì)說明。如圖1所示,本專利技術(shù)一種WPF中表格系統(tǒng),表格由單元格作為基礎(chǔ)組件,所述表格系統(tǒng)包括內(nèi)容承擔(dān)單元、邊框單元和容器單元。內(nèi)容承擔(dān)單元用于構(gòu)建單元格對象,包括文本樣式和背景顏色。邊框單元用于構(gòu)建單元格邊框樣式,還用于拖動邊框更改行高和列寬。容器單元包括表格容器和單元格容器,表格容器用于定義表格的行、列數(shù)、計(jì)算行高和列寬、以及合并單元格和拆分單元格,所述單元格容器用于支持內(nèi)容承擔(dān)單元和邊框單元。具體的,所述容器單元采用WPF中布局控件Grid,內(nèi)容承擔(dān)單元采用富文本框控件RichTextBox,邊框單元采用控件GridSplitter。表格使用布局控件Grid作為容器,通過表格容器的布局功能,決定單位格的位置、大小、跨行數(shù)和跨列數(shù),從而實(shí)現(xiàn)表格的拆分,合并單元格功能。富文本框作為內(nèi)容承載,可以加載文本、圖片和控件等,使用文本流來控制字體多變的樣式。控件GridSplitter可以呈現(xiàn)單元格的寬度、樣式和顏色,還可以提供重新分配Grid行列布局空間的功能,用來實(shí)現(xiàn)拖動單元格邊框,就改變當(dāng)前列寬或行高的功能。如圖2所示,本專利技術(shù)一種WPF中表格實(shí)現(xiàn)方法,包括如下步驟:S1.通過容器單元,根據(jù)需求定義表格行列數(shù),并循環(huán)計(jì)算每一行的行高和每一列的列寬。具體的,以WPF中常用布局控件Grid作為表格容器,布局控件Grid的特點(diǎn)是可以自定義行列對內(nèi)部控件進(jìn)行布局,根據(jù)要表格的行列數(shù)定義布局控件Grid中的行列數(shù),并循環(huán)計(jì)算每一行的高及每一列的寬。S2.遍歷表格,到達(dá)對應(yīng)的行列后,通過內(nèi)容承擔(dān)單元對表格中單元格添加文本。具體的,內(nèi)容承擔(dān)單元包括富文本框控件RichTextBox,表格容器及行列劃分好后,遍歷行列,構(gòu)建單元格對象。富文本框控件RichTextBox不僅能對文本進(jìn)行統(tǒng)一的樣式修改,還支持單獨(dú)文字修改為獨(dú)立的樣式。遍歷到對應(yīng)的行列后,使用布局控件Grid構(gòu)建單元格容器,然后添加富文本框控件RichTextBox,如果單元格存在背景色,將布局控件Grid的背景設(shè)置對應(yīng)的顏色,并將單元格容器定位到表格容器對應(yīng)的行列處,如果有跨行跨列的情況,設(shè)置對應(yīng)的值。S3.采用邊框單元設(shè)置表格邊框的寬度和顏色,并且遍歷所有單元格,通過每個單元格添加兩個控件GridSplitter,一個用來改變單元格的行高,另一個用來改變單元格的列寬,并設(shè)定初始樣式。具體的,單元格的邊框主要有兩個功能,一是邊框的樣式,包括寬度和顏色等,二是拖動邊框更改行或列的高寬。邊框單元采用控件GridSplitter,通過修改控件GridSplitter的樣式來改變邊框的樣式;同時拖動控件GridSplitter,通過改變表格容器中左右布局的大小,實(shí)現(xiàn)行高和列寬的改變。改變邊框的樣式通過畫刷DrawingBrush繪制控件GridSplitter的背景,包括繪制顏色和矢量圖形,可根據(jù)需求定義指定的樣式,靈活多樣。S4.單元格創(chuàng)建完畢后,由于要進(jìn)行保存和讀取,所以需本文檔來自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種WPF中表格系統(tǒng),表格由單元格作為基礎(chǔ)組件,其特征在于,所述系統(tǒng)包括:內(nèi)容承擔(dān)單元,用于構(gòu)建單元格對象,包括文本樣式和背景顏色;邊框單元,用于構(gòu)建單元格邊框樣式,還用于拖動邊框更改行高和列寬;容器單元,包括表格容器和單元格容器,所述表格容器用于定義表格的行、列數(shù)、計(jì)算行高和列寬、以及合并單元格和拆分單元格,所述單元格容器用于支持內(nèi)容承擔(dān)單元和邊框單元。
【技術(shù)特征摘要】
1.一種WPF中表格系統(tǒng),表格由單元格作為基礎(chǔ)組件,其特征在于,所述系統(tǒng)包括:內(nèi)容承擔(dān)單元,用于構(gòu)建單元格對象,包括文本樣式和背景顏色;邊框單元,用于構(gòu)建單元格邊框樣式,還用于拖動邊框更改行高和列寬;容器單元,包括表格容器和單元格容器,所述表格容器用于定義表格的行、列數(shù)、計(jì)算行高和列寬、以及合并單元格和拆分單元格,所述單元格容器用于支持內(nèi)容承擔(dān)單元和邊框單元。2.如權(quán)利要求1所述的WPF中表格系統(tǒng),其特征在于:所述容器單元采用WPF中布局控件Grid,內(nèi)容承擔(dān)單元采用富文本框控件RichTextBox,邊框單元采用控件GridSplitter。3.一種基于權(quán)利要求1所述系統(tǒng)的WPF中表格實(shí)現(xiàn)方法,其特征在于,包括:S1.通過容器單元,根據(jù)需求定義表格行列數(shù),并循環(huán)計(jì)算每一行的行高和每一列的列寬;S2.遍歷表格,到達(dá)對應(yīng)的行列后,通過內(nèi)容承擔(dān)單元對表格中的單元格添加文本;S3.采用邊框單元設(shè)置表格邊框的寬度和顏色,并且遍歷所有單元格,通過每個單元格添加兩個控件GridSplitter,分別改變單元格的行高和列寬;S4.將創(chuàng)建后的表格保存成XML文件;表格建成后,合并單元格時,選中單元格所在的起始行列以及所占行列數(shù),設(shè)置選中區(qū)域的第一個單元格跨行跨列顯示,并將其他單元格的內(nèi)容合并到第一個單元格中顯示,然后刪除其他單元格;拆分單元格時,獲取選中的單元格,在表格容器中添加對應(yīng)的行列,并在其中創(chuàng)建單元格,將...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:戴有勇,
申請(專利權(quán))人:武漢天喻教育科技有限公司,
類型:發(fā)明
國別省市:湖北,42
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。