プロが教える店舗&オフィスのセキュリティ対策術

オブジェクトのディープコピーは、以下のURLを参考にして作成しました。
http://d.hatena.ne.jp/tekk/20100131/1264913887

WPF(UserControl)で作成したViewに対して上記URLのDeepCopy()関数を実行すると、
実行時に次のエラーが出てしまいます。
「'System.Windows.UserControl'はシリアル化可能として設定されていません。」

調べますと、Sezializable属性を付ければ良いとあるのですが、
該当のWPF(xaml)のcsファイル(XXX.xaml.cs)のクラスの宣言の上に以下のように付けましたが、
変わらずエラーが出てしまいます。

[Serializable]
public partical class XXX
{
・・・

どのようにしたら、上記のエラーを解決し、Viewのディープコピーができるのでしょうか?
とても困っています。 ご教授よろしくお願いいたします。

A 回答 (1件)

UserControlであれば,XamlWriterとXamlReaderを使ってある程度コピー可能です。


ただし,外部のオブジェクトのバインドがどこまで復元されるかまでは確認していません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!