Condition.Binding Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia powiązanie, które określa właściwość warunku. Dotyczy to tylko MultiDataTrigger obiektów.
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
Wartość właściwości
Wartość domyślna to null.
Przykłady
W poniższym przykładzie element ItemsSource z obiektu ListBox jest powiązany z obiektamiObservableCollection<T> Places ( Miejsca ). Obiekty place mają właściwości Name (Nazwa) i State (Stan).
Każdy ListBoxItem z obiektów ListBox wyświetla obiekt Place . Element Style w przykładzie jest stosowany do każdego ListBoxItemelementu . S Conditionparametru MultiDataTrigger są określone w taki sposób, że jeśli odpowiednio nazwa i stan elementu danych Place to "Portland" i "OR", tło odpowiadające ListBoxItem mu wartości jest ustawione na Cyan.
<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>
Uwagi
MultiDataTriggerUmożliwia ustawienie wartości właściwości na podstawie wartości zwracanych danych. Jeśli na przykład wyświetlasz listę elementów zadań, możesz wyświetlić zadanie z czerwonym tłem, jeśli ma on wysoki priorytet i nie był sprawdzany przez ponad dwa tygodnie.
Utworzysz powiązanie i użyjesz Path właściwości , aby powiązać z właściwością określonego obiektu (obiekt źródłowy powiązania). Na przykład można powiązać z właściwością Priority zadania. Aby uzyskać więcej informacji, zobacz Omówienie powiązania danych.
Należy pamiętać, że jeśli jest to warunek elementu MultiDataTrigger, Binding należy ustawić właściwości i Value . Property Ustawienie wartości spowodowałoby wyjątek w tym przypadku.
Użycie atrybutu języka XAML
<object property="{Binding declaration}"/>
Użycie elementu właściwości języka XAML
<object>
<object.Binding>
<Binding …/>
</object.Binding>
</object>
Wartości XAML
Deklaracji
Deklaracja powiązania. Aby uzyskać więcej informacji, zobacz Omówienie deklaracji powiązań .