Spread XAML 表格控件(Spread WinRT 和 Spread WPF-Silverlight) 具备丰富的数据展示功能和公式计算功能。可以轻松创建计算器、交互式的Dashboard、丰富的报表样式等!今天我们就来介绍下如何通过Spread实现一个简易的计算器。
首先,创建新的工程
添加 GcSpreadSheet 控件到窗体中
右键点击控件,选择“Create a new document” ,这时工程中会自动创建spreasheet1.ssxaml 文件,同时自动设置当前 Spread 控件的 DocumentUri 属性为该文档。
这时设计器已经自动弹出来了,可以通过设计器模拟Spread表格的样式。操作行为基本和 Excel 是一致的,设置完成后保存模板拖出 Spread 设计器。
接下来我们可以调用 CellClick 事件
XAML code:
<UI:GcSpreadSheet x:Name="gcSpreadSheet1" Width="490" Height="730" DocumentUri="ms-appx:///Spread Documents/spreadsheet1.ssxml" CellClick="gcSpreadSheet1_CellClick"/>
C# code:
void gcSpreadSheet1_CellClick(object sender, CellClickEventArgs e)
{var sheet = this.gcSpreadSheet1.ActiveSheet;if (e.Column == 4 && e.Row == 7) //=
{sheet[2, 1].Formula = "";try
{sheet[2, 1].Formula = sheet[1, 1].Text;}catch
{sheet[2, 1].Text = "Invalid Formula!";
}}else if (e.Column == 1 && e.Row == 3) //C{sheet[1, 1].ResetText();sheet[2, 1].ResetText();sheet[2, 1].Formula = "";}else if (e.Column == 3 && e.Row == 3) //BS{var txt = sheet[1, 1].Text;if (txt == string.Empty) return;sheet[1, 1].Text = txt.Substring(0, txt.Length - 1);}else if (e.Column > 0 && e.Column < 5 && e.Row > 3 && e.Row < 9) //digits and signs{sheet[1, 1].Text = sheet[1, 1].Text + sheet[e.Row, e.Column].Text;sheet[2, 1].ResetText();sheet[2, 1].Formula = "";}}
Demo下载: