two - wpf binding types
Comprender WPF Binding CommandParameter="{Binding}" (2)
Un {Binding}
vacío pasará el DataContext actual del control a los métodos Executed y CanExecute respectivamente.
Verifique los enlaces a continuación
http://www.developmentalmadness.com/archive/2009/08/26/xaml-binding-to-the-current-datacontext.aspx
http://www.wpfmentor.com/2009/01/how-to-add-binding-to-commandparameter.html
Tal vez esta es una pregunta tonta, pero no puedo encontrar la respuesta: en el siguiente xaml, ¿a CommandParameter
vincula CommandParameter
? O, en general, ¿qué significa "{Binding}"
?
<Button Command="{Binding DataContext.DeleteCommand, ElementName=List}"
CommandParameter="{Binding}"/>
{Binding ...}
es una ampliación de marca.
En su forma habitual, toma una ruta de {Binding Path=someProperty, ...}
como {Binding Path=someProperty, ...}
(o su forma abreviada {Binding someProperty, ...}
).
Por lo tanto, la ruta en {Binding}
está vacía, lo que significa que el Enlace está vinculado a cualquier Fuente que haya para el Enlace. Esto podría ser un poco más fácil de entender si sabes que {Binding}
realidad es lo mismo que {Binding DataContext,RelativeSource={RelativeSource Self}}
.
Entonces, en su caso, CommandParameter obtiene el valor del DataContext actual del botón.