Espacio de nombres: System.Windows
Ensamblado: PresentationFramework (en PresentationCore.dll) Espacio de nombres XML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/ xaml / presentación.
Sintaxis
C #
[LocalizabilityAttribute (LocalizationCategory.NeverLocalize)]
pública BindingGroup BindingGroup { consigue , encuentra ;}
Uso de elementos de propiedad XAML
< objeto >
< object.BindingGroup >
< BindingGroup ... />
</ object.BindingGroup >
</ objetos >
Valor de la propiedad
Tipo: System.Windows.Data . BindingGroup
El BindingGroup que se utiliza para el elemento.
Dependencia Información del hotel
- Campo Identificador - BindingGroupProperty
- Propiedades de metadatos establecidas en cierto - Hereda
Observaciones
A BindingGroup se puede utilizar para validar los valores de varias propiedades de un objeto. Por ejemplo, supongamos que una aplicación solicita al usuario ingresar una dirección y luego se rellena un objeto de tipo Dirección , que tiene las propiedades de la calle , la ciudad , ZipCode y Country , con los valores que el usuario proporcionó. La aplicación cuenta con un panel que contiene cuatro TextBox controles, cada uno de los cuales se unen a una de las propiedades del objeto. Puede utilizar una ValidationRule en un BindingGroup para validar la dirección del objeto. Por ejemplo, el ValidationRule puede asegurar que el código postal es válida para el país de la dirección.
Los elementos hijos heredan el BindingGroup de sus elementos primarios, al igual que con cualquier otra propiedad heredable.
Ejemplos
Los siguientes ejemplos son parte de una aplicación que comprueba si el usuario ha establecido las propiedades de dos objetos de igual valor. El primer ejemplo crea dos TextBox controles, cada uno de los cuales está enlazado a un origen de datos diferente. El StackPanel tiene un BindingGroup que contiene una ValidationRule que comprueba que las dos cadenas son iguales.
XAML
Fuente = {StaticResource objeto1}} "
Validation.ValidationAdornerSite = " {Binding
string " />
< TextBox ancho = " 150 "
Texto = " {Binding Path = PropertyA} " />
< TextBlock Texto = " segunda cadena " />
Texto = "{Binding fuente = {StaticResource object2 },
Path = PropertyB, BindingGroupName = BindingGroup,
TargetNullValue = Por favor introduzca una cadena} "/> </ StackPanel > < Label Name = " label1 " contenido = " {Binding ElementName = sp1, cadena: " FontWeight = " Negrita " />
El siguiente ejemplo muestra la ValidationRule que el ejemplo anterior utiliza. En el Validar método de invalidación, el ejemplo se obtienen todos los objetos de origen de la BindingGroup y comprueba si las propiedades de los objetos son iguales.
C#
público de clase Type1
{ pública string PropertyA { conseguir ; establece ;} pública Type1 ()
{
PropertyA = "Valor por defecto" ;
}
} públicas clase Type2
{ pública string PropertyB { obtener , configurar ;} público Tipo 2 ()
{
}
} públicas clase BindingGroupValidationRule : ValidationRule
{ pública override ValidationResult Validar ( objeto de valor, System.Globalization.CultureInfo cultureInfo)
{
BindingGroup bg = valor como BindingGroup;
Type1 objeto1 = NULL ;
Type2 object2 = NULL ; foreach ( objeto material en bg.Items)
{ si (punto es Type1)
{
objeto1 = item como Type1;
} si (tema es Tipo 2)
{
object2 = item como Tipo 2;
}
} si (objeto1 == NULL | | object2 == NULL )
{ retorno nueva ValidationResult ( false , "BindingGroup no encontraron . objeto de origen " );
} string cadena1 = bg.GetValue (objeto1, "PropertyA" ) como string ,
string cadena2 = bg.GetValue (object2, "PropertyB" ) como cadena , si ! (cadena1 = cadena2)
{ retorno nueva ValidationResult ( false , "Las dos cadenas deben ser idénticos." );
} regreso ValidationResult.ValidResult;
}
}
Para invocar la ValidationRule , llame al UpdateSources método. En el ejemplo siguiente, se llama UpdateSources cuando se produce el evento click del botón.
C #
privado void Button_Click ( objeto emisor, RoutedEventArgs e)
{
sp1.BindingGroup.UpdateSources ();
}
Información de la versión