Binding Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Define un enlace que conecta las propiedades de los destinos de enlace y los orígenes de datos.
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Binding : BindingBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Binding : BindingBase
Public Class Binding
Inherits BindingBase
<Binding .../>
- or -
<dependencyobject dependencyproperty="{Binding bindingArgs}" />
- Herencia
- Atributos
Ejemplos
En el ejemplo de código siguiente se muestra cómo crear un enlace en XAML. Para obtener la lista de código completa, consulta el ejemplo de enlace de datos XAML .
<StackPanel Margin="5">
<TextBlock Text="Name:" Style="{StaticResource DescriptionTextStyle}"
Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<TextBox Text="{Binding Path=Name, Mode=TwoWay}"
Width="350" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<TextBlock Text="Organization:" Style="{StaticResource DescriptionTextStyle}"
Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<!-- You can omit the 'Path=' portion of the binding expression. -->
<TextBox Text="{Binding Organization, Mode=TwoWay}" Width="350"
Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</StackPanel>
En el código de ejemplo siguiente se muestra cómo crear un enlace en el código.
// Create the source string.
string s = "Hello";
// Create the binding description.
Binding b = new Binding();
b.Mode = BindingMode.OneTime;
b.Source = s;
// Attach the binding to the target.
TextBlock MyText = new TextBlock();
MyText.SetBinding(TextBlock.TextProperty, b);
// Create the source string.
String^ s = ref new String(L"Hello");
// Create the binding description.
Binding^ b = ref new Binding();
b->Mode = BindingMode::OneTime;
b->Source = s;
// Attach the binding to the target.
TextBlock^ MyText = ref new TextBlock();
MyText->SetBinding(MyText->TextProperty, b);
Comentarios
El extensión de marcado {Binding} permite especificar un valor binding como una sola cadena de atributo en XAML, incluida la configuración de propiedades binding como Ruta de acceso y Source. Para obtener más información sobre los conceptos de enlace de datos, consulte Enlace de datos en profundidad.
La clase Binding puede considerarse la exposición de código subyacente de la extensión de marcado de {Binding}. Si un enlace ya se aplica a un destino (que sucede cuando se carga xaml), no se pueden establecer las propiedades de lectura y escritura de un objeto Binding para cambiar el comportamiento de un enlace en tiempo de ejecución. Cualquier enlace definido por XAML debe considerarse inmutable. Pero puede crear un nuevo objeto Binding, establecer sus propiedades y establecer un nuevo enlace en un destino de elemento de interfaz de usuario específico mediante FrameworkElement.SetBinding. Para obtener más información, consulta Creación de enlaces en código.
Un objeto Binding conecta una propiedad de dependencia de un FrameworkElement directamente a un objeto de datos para que las actualizaciones del objeto de datos se propaguen automáticamente a la propiedad que usa el enlace de datos. La clase Binding define las propiedades de un enlace. Cada enlace debe tener un elemento de destino, una propiedad de destino y un origen de datos, aunque algunos valores se proporcionan de forma predeterminada si no los especifica.
Para enlazar a una propiedad o a una subpropia en un objeto de datos, establezca la Path propiedad del objeto Binding. Para obtener más información sobre cómo establecer ruta de acceso en el código o en XAML, consulta sintaxis de ruta de acceso de propiedad o extensión de marcado {Binding}.
Puede aplicar una instancia de una clase Binding a varios destinos. Sin embargo, no se pueden modificar los valores de propiedad de un objeto Binding después de adjuntarlos a un elemento de destino.
Nota
Llamar al método FrameworkElement.SetBinding y pasar un nuevo objeto Binding no eliminará necesariamente un enlace existente. En su lugar, debe usar el método Microsoft.UI.Xaml.DependencyObject.ClearValue.
Para obtener más información sobre el uso de atributos XAML para las propiedades que pueden tomar un enlace, o que se pueden establecer en un valor enlazado a datos, consulta extensión de marcado {Binding}.
La propiedad que es el destino de un enlace de datos debe ser una propiedad de dependencia. Para obtener más información, consulte Información general sobre las propiedades de dependencia.
Constructores
Binding() |
Inicializa una nueva instancia de la clase binding de |
Propiedades
Converter |
Obtiene o establece el objeto de convertidor al que llama el motor de enlace para modificar los datos a medida que se pasan entre el origen y el destino, o viceversa. |
ConverterLanguage |
Obtiene o establece un valor que asigna un nombre al idioma que se va a pasar a cualquier convertidor especificado por la propiedad Converter de |
ConverterParameter |
Obtiene o establece un parámetro que se puede usar en la lógica del convertidor de . |
Dispatcher |
Siempre devuelve |
DispatcherQueue |
Obtiene el |
ElementName |
Obtiene o establece el nombre del elemento que se va a usar como origen de enlace para el Binding. |
FallbackValue |
Obtiene o establece el valor que se va a usar cuando el enlace no puede devolver un valor. |
Mode |
Obtiene o establece un valor que indica la dirección del flujo de datos en el enlace. |
Path |
Obtiene o establece la ruta de acceso a la propiedad de origen de enlace. |
RelativeSource |
Obtiene o establece el origen de enlace especificando su ubicación en relación con la posición del destino de enlace. Esto se usa con más frecuencia en enlaces dentro de plantillas de control XAML. |
Source |
Obtiene o establece el origen de datos para el enlace. |
TargetNullValue |
Obtiene o establece el valor que se usa en el destino cuando el valor del origen es null. |
UpdateSourceTrigger |
Obtiene o establece un valor que determina el tiempo de las actualizaciones de origen de enlace para los enlaces bidireccionales. |
Métodos
ClearValue(DependencyProperty) |
Borra el valor local de una propiedad de dependencia. (Heredado de DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa. (Heredado de DependencyObject) |
GetValue(DependencyProperty) |
Devuelve el valor efectivo actual de una propiedad de dependencia de un DependencyObject. (Heredado de DependencyObject) |
ReadLocalValue(DependencyProperty) |
Devuelve el valor local de una propiedad de dependencia, si se establece un valor local. (Heredado de DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra una función de notificación para escuchar los cambios en una |
SetValue(DependencyProperty, Object) |
Establece el valor local de una propiedad de dependencia en un DependencyObject. (Heredado de DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Cancela una notificación de cambio registrada anteriormente llamando a RegisterPropertyChangedCallback. (Heredado de DependencyObject) |
Se aplica a
Consulte también
- <xref:Microsoft.UI.Xaml.Data.BindingOperations.SetBinding(Microsoft.UI.Xaml.DependencyObject%2cMicrosoft.UI.Xaml.DependencyProperty%2cMicrosoft.UI.Xaml.Data.BindingBase)%0a(bindingoperations_setbinding_746099660.md)>
- ejemplo de enlace de datos XAML
- enlace de datos de en profundidad
- información general de las propiedades de dependencia de
- sintaxis de ruta de acceso de propiedad