計算される TextBox をアプリケーションに追加するとします。ユーザーが TextBox に式を入力できるようにします。コントロールがフォーカスを失うか、ユーザーが Enter を押すと、式が評価されます。それには、たとえば次のコードを使用します。
XAML |
コードのコピー
|
---|---|
public MainWindow() { InitializeComponent(); var tb = new TextBox(); tb.LostFocus += (s,e) => { Evaluate(s); }; tb.KeyDown += (s, e) => { Evaluate(s); }; } void Evaluate(object sender) { var tb = sender as TextBox; var ce = new C1.WPF.Binding.C1CalcEngine(); try { var value =ce.Evaluate(tb.Text); tb.Text = value.ToString(); } catch (Exception x) { MessageBox.Show("Error in Expression: " + x.Message); } } |
C1CalcEngine クラスの典型的な使用方法として、計算されるセルをグリッドコントロールやデータオブジェクトに実装することがあります。この方法を使用して、グリッドコントロールにスプレッドシート機能を追加するサンプルを作成しました。このコードは長すぎるのでここには掲載しませんが、http://demos.componentone.com/silverlight/ExcelBook/ でサンプルの動作を確認できます。