Tengo un WPF Window, y en algún lugar hay un ListViewlugar al que enlazo List<string>.
Ahora, en algún lugar de mi ListViewhay un TextBoxy la Contentpropiedad está configurada en {Binding}.
Pero esta es la taquigrafía. ¿Cómo escribo el enlace completo para enlazarlo a sí mismo?
{Binding Path=Self}no funciona, tampoco lo hace {Binding Self}(donde el último es un atajo para el primero).
wpf
data-binding
binding
self
Serpiente
fuente
fuente

Respuestas:
Respuesta corta : no
{Binding}es un atajo para "vincularse a sí mismo" (en el sentido de RelativeSource.Self ). Más bien, es equivalente a , que se une a la fuente actual.{Binding}{Binding Path=.}Para elaborar : un enlace tiene una fuente y una ruta . Puede hacer un "enlace consigo mismo", por ejemplo, utilizando
<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />Sin embargo, esto establece la fuente en el control en sí, por lo que intentará acceder a la propiedad
xdel control de la interfaz de usuario (en lugar de a la propiedadxdel contexto de datos actual). Por cómo entendí tu pregunta, esto no es lo que quieres; en particular, no es lo que{Binding}hace:{Binding}mantiene la fuente como está (generalmente laDataContextde algún elemento padre) y se une a la fuente misma (equivalente aPath=.).fuente
CommandParameter="{Binding ElementName=MyDataGrid, Path=SelectedItems}", pasará los SelectedItems al Bound ICommand. Sin embargo,nullse pasa si se accede a través del ContextMenu. He intentadoCommandParameter="{Binding} SelectedItems","{Binding ElementName = MiDataGrid, Path = SelectedItems}" `y"{Binding RelativeSource={RelativeSource Self}, Path=SelectedItems}".