WPF - liaison à une propriété d'un objet personnalisé situé dans un autre objet

Je travaille dans WPF 4 /C#. J'ai deux classes personnalisées:

public class c1 {
    public string prop1 { get; set; }

    public c1() {
        prop1 = "world";
    }
}

public class c2 {
    public string prop1 { get; set; }
    public c1 obj1 = new c1();

    public c2() {
        prop1 = "hello";
    }
}

De l'intérieur XAML, je veux lier à des propriétés de ces classes. Voici ce que j'ai:

<Window.Resources>
    <my:c2 x:Key="c2"/>
</Window.Resources>
<StackPanel>
    <TextBlock DataContext="{DynamicResource c2}" Text="{Binding prop1}"/>
    <TextBlock DataContext="{DynamicResource c2}" Text="{Binding obj1.prop1}"/>
</StackPanel>

(Ici le <my:c2 ../> instancie la classe c2.) La première TextBlock liaison fonctionne. La deuxième ne l'est pas. Pourquoi je ne peux pas lier à une propriété sur la obj1? Je ne semble pas être en mesure de lier les propriétés de la classe. Je veux être capable de se lier à d'autres trucs comme un élément dans un tableau qui appartient à l'immédiate classe ou une propriété d'un enfant de la classe, comme indiqué ci-dessus. Ce qui me manque? Si j'enveloppe le obj1.prop1 dans une autre propriété de la classe à l'aide de get/set, il fonctionne. Mais je ne veux pas avoir à le faire, surtout si je commence à l'aide de tableaux, je ne veux pas envelopper chaque élément dans une propriété indépendante!

source d'informationauteur mawrya