Condition.Binding Propiedad
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í.
Obtiene o establece el enlace que especifica la propiedad de la condición. Esto solo es aplicable a los objetos MultiDataTrigger.
public:
property System::Windows::Data::BindingBase ^ Binding { System::Windows::Data::BindingBase ^ get(); void set(System::Windows::Data::BindingBase ^ value); };
public System.Windows.Data.BindingBase Binding { get; set; }
member this.Binding : System.Windows.Data.BindingBase with get, set
Public Property Binding As BindingBase
El valor predeterminado es null.
En el ejemplo siguiente, el ItemsSource de ListBox está enlazado a Places, un ObservableCollection<T> de objetos Place . Los objetos Place tienen propiedades Name y State.
Cada ListBoxItem una de las ListBox muestra un objeto Place . En Style el ejemplo se aplica a cada ListBoxItem. Los Conditionvalores de MultiDataTrigger se especifican de forma que si el nombre y el estado del elemento de datos Place son "Portland" y "OR", respectivamente, el fondo de correspondiente ListBoxItem se establece en Cian.
<Window.Resources>
<c:Places x:Key="PlacesData"/>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=State}" Value="WA">
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=Name}" Value="Portland" />
<Condition Binding="{Binding Path=State}" Value="OR" />
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Cyan" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
<DataTemplate DataType="{x:Type c:Place}">
<Canvas Width="160" Height="20">
<TextBlock FontSize="12"
Width="130" Canvas.Left="0" Text="{Binding Path=Name}"/>
<TextBlock FontSize="12" Width="30"
Canvas.Left="130" Text="{Binding Path=State}"/>
</Canvas>
</DataTemplate>
</Window.Resources>
<StackPanel>
<TextBlock FontSize="18" Margin="5" FontWeight="Bold"
HorizontalAlignment="Center">Data Trigger Sample</TextBlock>
<ListBox Width="180" HorizontalAlignment="Center" Background="Honeydew"
ItemsSource="{Binding Source={StaticResource PlacesData}}"/>
</StackPanel>
MultiDataTriggerpermite establecer valores de propiedad en función de los valores de los datos que se devuelven. Por ejemplo, si está mostrando una lista de elementos de tarea, puede que desee mostrar una tarea con un fondo rojo si es de prioridad alta y no se ha examinado durante más de dos semanas.
Se crea un enlace y se usa la Path propiedad para enlazar a una propiedad de un objeto determinado (el objeto de origen de enlace). Por ejemplo, puede enlazar a la propiedad Priority de una tarea. Para obtener más información, consulte Información general sobre el enlace de datos.
Tenga en cuenta que si es una condición para , MultiDataTriggerse deben establecer las Binding propiedades y Value . Establecer el Property valor provocaría una excepción en ese caso.
<object property="{Binding declaration}"/>
<object>
<object.Binding>
<Binding …/>
</object.Binding>
</object>
declaration
Declaración de enlace. Consulte Información general sobre declaraciones de enlace para obtener más información.
Producto | Versiones |
---|---|
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9 |
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: