0
有沒有辦法告訴XamlWriter在寫出字符串時跳過模板屬性?我試圖通過視覺模擬一個類,但在輸出中保存另一個類。我將通過解析字符串來更改類名,但是我想跳過模仿外觀的樣式。XamlWriter跳過模板屬性
有沒有辦法告訴XamlWriter在寫出字符串時跳過模板屬性?我試圖通過視覺模擬一個類,但在輸出中保存另一個類。我將通過解析字符串來更改類名,但是我想跳過模仿外觀的樣式。XamlWriter跳過模板屬性
ShouldSerialize[PropertyName]
是自定義屬性是否被序列化的正確途徑。如果它們是空的,則用於跳過收藏。
不幸的是,XML寫類只看起來財產的所有人裏面的適當Should Serialize
方法。
但是,如果你想跳過不屬於你的屬性,它是一個DependencyProperty,你很幸運。
您可以實現bool ShouldSerializeProperty(DependencyProperty)
並擁有控制權的任何DependencyProperty的,是否屬於你的類或沒有。
爲了跳過模板屬性,繼承它作爲一個靜態成員,所以代碼如下所示:
protected override bool ShouldSerializeProperty(DependencyProperty dp)
{
if (dp == ContentControl.TemplateProperty) return false;
return base.ShouldSerializeProperty(dp);
}