Cosa {Binding Path=.}
significa in un'associazione WPF?
Vedo che alcune persone lo usano, ma non sono riusciti a trovare alcuna spiegazione.
Ci sono altri simboli speciali nella sintassi di associazione (diversi da {Binding /}
)?
Cosa {Binding Path=.}
significa in un'associazione WPF?
Vedo che alcune persone lo usano, ma non sono riusciti a trovare alcuna spiegazione.
Ci sono altri simboli speciali nella sintassi di associazione (diversi da {Binding /}
)?
Risposte:
Questa è una scorciatoia per il collegamento alla sorgente corrente. Per maggiori informazioni vedere qui .
Dalla documentazione in particolare:
Facoltativamente, è possibile utilizzare un percorso punto (.) Per eseguire il binding alla sorgente corrente. Ad esempio,
Text="{Binding}"
è equivalente aText="{Binding Path=.}"
.
Ho trovato questo WPF Binding CheatSheet alcuni mesi fa e lo trovo molto utile, soprattutto per chiunque stia imparando WPF. Ci sono alcuni errori di ortografia al suo interno, ma è comunque abbastanza buono.
Ecco un piccolo estratto (che dovrebbe avere una formattazione tabulare):
Basic Binding
{Binding} Bind to current DataContext.
{Binding Name} Bind to the “Name” proeprty of the current DataContext.
{Bindind Name.Length} Bind to the Length property of the object in the Name property of the current DataContext.
{Binding ElementName=SomeTextBox, Path=Text} Bind to the “Text” property of the element XAML element with name=”SomeTextBox” or x:Name=”SomeTextBox”.
{Binding }
, ma sono passati alcuni anni da quando ho lavorato molto con Xaml, quindi non ne sono sicuro.
{Binding string}
è simile a {Binding Path=string}
. string
non viene utilizzato per inizializzare Path
direttamente la proprietà , ma come parametro per il costruttore Binding (string path)
che quindi inizializza la Path
proprietà. Funziona solo quando la stringa è il primo token dopo Binding
, il resto sono inizializzatori regolari (proprietà = coppie di valore). Sapendo che, Binding .
è in effetti uguale a Binding Path=.
e la sintassi della proprietà Path è disponibile qui .