Compartir a través de


Binding Clase

Definición

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
Object IInspectable DependencyObject BindingBase Binding
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 null en una aplicación de Windows App SDK. Use DispatcherQueue.

(Heredado de DependencyObject)
DispatcherQueue

Obtiene el DispatcherQueue al que está asociado este objeto. El DispatcherQueue representa una instalación que puede acceder al DependencyObject en el subproceso de interfaz de usuario incluso si el código lo inicia un subproceso que no es de interfaz de usuario.

(Heredado de DependencyObject)
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 DependencyProperty específica en esta instancia de dependencyObject .

(Heredado de DependencyObject)
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