Sont “{Binding Path=.}” et “{Binding}” vraiment égal

Dans mon projet WPF, j'ai une zone de liste qui affiche les éléments d'un List<string> collection. Je voulais rendre le texte de ces éléments modifiables, donc j'ai enveloppé de chacun d'eux dans un ItemTemplate avec une zone de texte (peut-être pas le meilleur moyen, mais je suis nouveau sur WPF). J'ai eu de la difficulté à lier simplement les zones de texte " Texte de la propriété à la valeur de chaque élément. Je me suis finalement tombé sur un exemple en utilisant un seul point ou de la période de son Chemin d'accès à la propriété ({Binding Path=.}):

<ListBox ItemsSource="{Binding ElementName=recipesListbox,Path=SelectedItem.Steps}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBox Text="{Binding Path=.}"/>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Cependant je ne comprends pas pourquoi tout simplement à l'aide de {Binding} n'a pas fonctionné.

Il a soulevé une "les Deux sens de la liaison nécessite Chemin ou XPath" exception, comme selon Microsoft:

[...] un point (.) chemin d'accès peut être utilisé pour lier à la source de courant. Par exemple, Text="{Binding}" est équivalent à Text="{Binding Path=.}"

Quelqu'un pourrait jeter la lumière sur ce comportement ambigu?

EDIT: en Outre, il semble {Binding Path=.} ne donnent pas nécessairement une liaison bidirectionnelle, que de modifier le texte et en déplaçant le focus n'est pas de mise à jour de la source sous-jacent (de la même source a également des propriétés affichée et modifiée avec succès sur un contrôle DataGrid). Je suis définitivement manque quelque chose ici.

InformationsquelleAutor Fueled | 2011-03-30