Причина, по которой SelectedContent возвращает объект Customer, заключается в следующем:
<DataTemplate x:Key="myContent" DataType="{x:Type testTabControl:Customer}">
Он возвращает именно то, о чем вы просили.Все, что делает DataTemplate, это описывает, как отобразить объект Customer, который является содержимым, и ничего больше.Когда вы запрашиваете контент, он возвращает объект, который отображает шаблон данных.
Один из способов сделать это свойство для вашего объекта Customer, которое реплицирует желаемый результат.
public string OutputString
{
get
{
return string.Format("This is the content for {0} {1}", this.FirstName, this.LastName);
}
}
А затем сделать что-то вроде
Trace.WriteLine("myTabControl.SelectedContent is " + myTabControl.SelectedContent.OutputString);
Или вы можете создать коллекцию строк, которая соответствует приведенному выше формату, и сделать их содержимым.Тогда ваш SelectedContent будет простой строкой по умолчанию.