.net XmlSerializer, ignora propriedades de classe base

Vamos dizer que temos uma classe "SerializableLabel" da classe base "System.Windows.Controls".

[XmlRoot("SerializableLabel")]
public class SerializableLabel : Label
{
    public string foo = "bar";
}

Eu gostaria de serializar esta classe, mas ignorar todas as propriedades na classe pai. Idealmente, o xml seria algo como:

<SerializableLable>
    <foo>bar</foo>
</SerializableLable>

Como isso é melhor alcançado?

Minha primeira tentativa usou a abordagem típica do XmlSerializer:

XmlSerializer s = new XmlSerializer(typeof(SerializableLabel));
TextWriter w = new StreamWriter("test.xml");
s.Serialize(w, lbl);
w.Close();

Mas isso gera uma exceção porque o serializador tenta serializar uma propriedade de classe base que é uma interface (comando ICommand).

questionAnswers(4)

yourAnswerToTheQuestion