Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions README.es-ES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@


# Enlazado de datos observable

Típicamente, cuando se realiza enlazado de datos en aplicaciones XAML, hay dos opciones: propiedades de dependencia y INotifyPropertyChanged. Ambas tienen ventajas, pero son un poco verbosas o requieren clases base auxiliares. Otra desventaja de estos enfoques es que son difíciles de componer; es decir, es difícil expresar dependencias entre propiedades en el viewmodel. Por ejemplo, si una propiedad en el viewmodel debe basarse en el valor de otra propiedad, esto requiere código imperativo. Esto es adecuado para escenarios simples (aunque incluso eso puede volverse un poco desordenado), pero para escenarios complejos como el control de frecuencia basado en un tiempo de espera, como las sugerencias de una caja de búsqueda, por ejemplo, se vuelve mucho más complicado

IObservables proporcionan una forma muy adecuada para componer flujos de eventos como esos, y también cuentan con muchos operadores integrados para manejar cosas como el control de frecuencia, el almacenamiento en búfer y el filtrado. Sin embargo, no hay soporte incorporado para enlazar hacia y desde observables. Es exactamente lo que proporciona esta biblioteca

Ahora puedes tener un viewmodel que se vea así:

public class ViewModel
{
public XamlObservable<string> MyProperty { get; set; } = new XamlObservable<string>();
}

y enlazarlo así:

<TextBox Text="{x:Bind Model.MyProperty.Value, Mode=OneWay}"></TextBox>

La propiedad Observable de MyProperty se puede establecer en cualquier observable y el enlazado se actualizará con cada valor:

MyProperty.Observable = Observable.Interval(TimeSpan.FromSeconds(1)).Select(t => t.ToString());