2013-03-07 7 views
5

、1がに必要なコードでFixedDocumentFixedPageを追加するために:PageContent/FixedPageをWPFのFixedDocumentに追加する正しい方法は何ですか? WPFでは

var page = new FixedPage(); 
var pageContent = new PageContent(); 

((IAddChild)pageContent).AddChild(page); 

これが唯一の方法であるように思われる、しかし:

  • MSDNのドキュメントには、明示的に述べていますこれを行うべきではありません( 'このAPIは.NET Frameworkインフラストラクチャをサポートしており、コードから直接使用するためのものではありません。' - PageContent.IAddChild.AddChild Method)。

  • PageContentにコンテンツを追加するには、明示的なインターフェイス実装にキャストするのは醜いです。

  • PageContentの基本操作を実行するのは簡単ではありません。

ドキュメントでは実際にこれを行う方法は説明されていませんし、それを行う方法に関するその他の情報は見つかりませんでした。別の方法がありますか? 「正しい」道?

答えて

7

MSDNのドキュメントによれば、FixedPageオブジェクトをPageContent.Childプロパティに追加してから、FixedDocument.Pages.Addメソッドを呼び出すことによってFixedDocumentに追加するだけです。例えば

public FixedDocument RenderDocument() 
{ 
    FixedDocument fd = new FixedDocument(); 
    PageContent pc = new PageContent(); 
    FixedPage fp = new FixedPage(); 
    TextBlock tb = new TextBlock(); 

    //add some text to a TextBox object 
    tb.Text = "This is some test text"; 
    //add the text box to the FixedPage 
    fp.Children.Add(tb); 
    //add the FixedPage to the PageContent 
    pc.Child = fp; 
    //add the PageContent to the FixedDocument 
    fd.Pages.Add(pc); 

    return fd; 
} 
+0

おかげで、ドキュメントがですか? – nicodemus13

+0

このページの一番下にある例を参照してください:http://msdn.microsoft.com/en-us/library/system.windows.documents.pagecontent%28v=vs.100%29.aspx – dtesenair

+0

pcを書くとき。子はエラーを表示します。そのgetメソッドが設定されていない – Sivajith

関連する問題