0
  1. Silverlight 4.0 で Binding オブジェクトの完全な別のコピーを作成するには何が必要ですか?
  2. 設定可能なすべてのプロパティをコピーするだけで十分ですか?

アップデート

私が見る限り、2 番目の質問に対する答えは NO です。バインドにプロパティを設定すると、一度初期化すると変更できない状態になるためです。たとえば、Source プロパティと RelativeSource プロパティの設定を止めるものは何もありませんが、実行時に例外が発生します。これは、Source プロパティが設定されると、RelativeSource を設定できなくなるためです。デフォルトですでに NULL を保持しているにもかかわらず、NULL に割り当てることができない ElementName プロパティと同じことです。

4

1 に答える 1

0

Silverlight で POCO オブジェクトを複製しようとしていますか? もしそうなら、次のようなものを実装できます:

public static T Clone<T>(T source)
{

    DataContractSerializer serializer = new DataContractSerializer(typeof(T));
    using (MemoryStream ms = new MemoryStream())
    {
        serializer.WriteObject(ms, source);
        ms.Seek(0, SeekOrigin.Begin);
        return (T)serializer.ReadObject(ms);
    }
} 
于 2012-11-30T11:34:29.247 に答える