int や List などのパブリック プロパティを含む C# WPF コンポーネント (VS2010 バージョン 10.0.40219.1 SP1Rel) に取り組んでいます。
.xaml の結果の xml-block は次のようになるため、コンポーネントは VS2010 wpf エディターによって正常にシリアル化されているようです。
<Parent>
<NumberProperty>10</NumberProperty>
<ListProperty>
<Item>
blah
</Item>
</ListProperty>
</Parent>
コンポーネントを逆シリアル化する (つまり、アプリケーションを実行する) と、List プロパティが読み取られ (getter が実行され)、そこに item が追加されます。リストに対してセッターは実行されません。
問題は、リストに意図的にデフォルトのアイテムが含まれていることです。これは、アイテムの親コンストラクターでリストに追加されます。これら/この既存のアイテムは、関連する xaml で利用可能な場合、リスト内のアイテムに置き換える必要があります。
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)
運が悪いリスト属性として試しました。
では、項目を追加するのではなく、リスト プロパティを置き換える (セッターを呼び出す) 必要があることを、環境への属性によって伝えることは可能ですか?