Serializar un objeto System.Windows.Media.ImageSource

Estoy creando una aplicación de chat muy básica. Establezco el chat con una conexión tcp. A menudo envío objetos serializados a través de la transmisión de red porque es más fácil de programar de esa manera. de todos modos si tengo unclass person{ public string name{get;set;} } entonces será fácil serializar esa clase. cuando incluyo unpublic ImageSource Img {get;set;} Ya no puedo serializar a esa persona de clase.

la forma en que serializo es como:

Person p = new Person();
p.name = \\some name
p.Img = \\ some image

System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());

x.Serialize(connection.stream, p);//here is when the problem comes. I am not able to serialize it if I include an Img