2016-04-18 8 views
0

ビジュアルスタジオまたは他のIDEと同様に、タブページ内の動的に作成されたコントロールを保存して戻す必要があります。私は、リスト内のコントロールを動的に作成したmycontrolsclassをjsonに変換する方法を試しました。これはデータベースに保存され、取り戻されます。 stackoverflowエラーは、mycontrolsclass全体がjsonにシリアル化されたときに発生します。そのため、データベースにxamlコンテンツを持つことを考えました。いくつかのチュートリアルは、wpfウィンドウの物理ファイルのxamlコンテンツを取得するのに役立ちますが、動的に作成されたコントロールを持つウィンドウからxamlcontentを取得することは認識していません。WPF実行時に作成されたコントロールのxamlを取得する

LogicalTreeHelperクラスをループしてみましたが、正確なxamlを取得できませんでした。私の方法論は正しいのですか、どうやって動的に作成されたコントロールのxamlを得ることができますか?

+1

[ここ](http://stackoverflow.com/q/15003183/1997232)は類似しています。 「xaml load runtime」と「xaml save runtime」を別々に検索することもできます(関連する質問につながるはずです)。 – Sinatr

答えて

2

あなたが探しているのはXamlWriter.Save()だと思います。

+0

大きな助けですが、xamlシリアライズエラーは次のように起こります。私はそれを克服できませんでした。 'System.InvalidOperationException'型の未処理の例外がPresentationFramework.dllで発生しました 追加情報:非公開の型 'FormsSuite.CustomControl.CustomTabItem'をシリアル化できません。 –

+1

@ArulManivannan 'FormsSuite.CustomControl.CustomTabItem'をパブリックにするだけです。これはうまくいくはずです。 –

+0

チャームのように働いて、前のコメントにそのエラーを置くことをためらった。今あなたのコメントは、私はいくつかの日を保存するのに役立ちました。ありがとう。 –

関連する問題