Попробовав разные вещи, я случайно наткнулся на решение. Я установил для XmlElementAttribute.IsNullable
значение true, как предложено в предыдущем ответе.
[System.Xml.Serialization.XmlElementAttribute(ElementName = "Confirm", IsNullable=true)]
public ConfirmType Confirm
{
get
{
return this.confirmField;
}
set
{
this.confirmField = value;
this.RaisePropertyChanged("Confirm");
}
}
Тогда при установке типа подтверждения в коде я использовал конструктор по умолчанию вместо того, чтобы установить для Подтверждения значение null.
retval.ConfirmBODDataArea.Confirm = new ConfirmType();
Это сериализовано как <star:Confirm/>