7 November 2010 0 Comments

Silverlight 4におけるアプリケーション要件への挑戦 – Printing

皆様、こんにちは!本日はSilverlight 4 の印刷機能につき、ご紹介したいと思います。 印刷機能 Silverlight 4 は、レポートやドキュメントの印刷を可能にする API を搭載しています。画面 UI とは異なる印刷プレビューを作成、表示することも可能です。ページの印刷と、印刷イベントをサポートしています。具体的なサンプルアプリケーションでこの点を詳しく見てみましょう。 印刷 – Print Document クラス PrintDocument という印刷用のオブジェクトがあります。これをまず生成します。イベントとしては、 PrintPage が重要です。印刷ページ毎にこのPrintPageのイベントが走るので、ここで印刷の処理を行うということになります。実際の実装は非常にシンプルです。下記のソースコードをご覧ください。 印刷処理 PrintDocument pd = new PrintDocument(); pd.DocumentName = “印刷文書名”; // 印刷ドキュメント名 pd.PrintPage += (s, args) => // ページ印刷ごとのイベント発生 { args.PageVisual = LayoutRoot; // ①PageVisualの利用 args.HasMorePages = false; // ②HasMorePagesプロパティ }; pd.EndPrint += (s, args)=> //印刷終了時のイベント発生 { MessageBox.Show(“印刷完了”); } pd.Print(); // 印刷開始 ① PrintPageのイベントが呼ばれたとき、 PageVisual の中に、印刷したいものを代入するということになります。ここでは LayoutRoot が指定されています。ここで、画面のXAMLエディタを開いて、中身を見て戴くと、SilverlightのUIの一番TopのGridが、通常LayoutRootですので、この場合には、画面ごとそっくり印刷されることになります。 ということは、このPageVisualに代入するものを変更すれば他の帳票等が印刷可能です。XAMLで別の帳票画面を作成して、それを指定すれば良い訳です。 この場合のソースコードについては、 Silverlight Training Kit にある RichTextBox Lab の Source フォルダ(例: C:Silverlight4LabsRichTextBoxSource )で Ex03 の End を選択して開いてみてください。 印刷ボタンのクリックイベントハンドラ内の処理 private void btnPrint_Click(object sender, RoutedEventArgs e) { PrintDocument theDoc = new PrintDocument(); string DocumentName = “Silverlight 4 Text Editor – Opened Document”; theDoc.PrintPage += (s, args) => { args.PageVisual = rtb; args.HasMorePages = false; }; theDoc.EndPrint += (s, args) => { MessageBox.Show(“The document printed successfully”, “Text Editor”, MessageBoxButton.OK); }; theDoc.Print(DocumentName); } ここでは PageVisual に、 rtb (このプロジェクト内で使われているRichTextBoxの名前)を指定しています。 ② これは重要なプロパティで、これ以上ページがない場合には False という設定にしています。複数ページを印刷したいときには、これを True にしておき、全ての印刷が終了したら、これを False にする必要があります。 以上です。いかがでしょうか? 印刷機能は簡単にアプリケーションに組み込むことができますので、お試し戴ければと思います。 それではまた! 鈴木 章太郎

20 March 2010 0 Comments

Designers Get Update for Expression Blend for Windows phone 7

Expression Blend 4 Beta enables you to create: Silverlight 3 and Silverlight 4 applications for the Web Windows Presentation Foundation (WPF) 3.5 with Service Pack 1 (SP1) and WPF 4 applications for the desktop. And now it supports Windows phone 7 Series design too. Download the community preview at Microsoft Expression Blend 4 Beta .

19 February 2010 0 Comments

Tutorial Silverlight 4 WCF RIA Services avec 0 ligne de code

Pendant la plénière du 1er jour aux Techdays 2010 , j’ai relevé en direct le défi de créer une application RIA en Silverlight 4 “from scratch” (depuis 0 donc) en moins de 5 minutes. C’était l’occasion de découvrir le nouvel outillage proposé par Visual Studio 2010 à ce sujet. Voici les étapes à suivre pour le refaire à la maison

23 November 2009 0 Comments

WCF RIA Services Beta and WCF RIA Services Preview for Visual Studio 2010

At PDC 2009, ScottGu have announced the release of WCF RIA Services Beta, that works with Visual Studio 2008 SP1/Visual Web Developer SP1.