Condition.Binding Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví vazbu, která určuje vlastnost podmínky. To platí jenom pro MultiDataTrigger objekty.
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
Hodnota vlastnosti
Výchozí hodnotou je hodnota null.
Příklady
V následujícím příkladu ItemsSource ListBox je objekt Place vázán na Místa, objektu ObservableCollection<T> Place. Objekty umístění mají vlastnosti Název a Stav.
Každý ListBoxItem z nich ListBox zobrazí objekt Místo . V Style příkladu se použije u každého ListBoxItem. MultiDataTrigger Určuje Conditionse tak, že pokud je položka dat " Portland " ( Portland) a "OR" (Nebo), pak je pozadí odpovídající ListBoxItem hodnoty nastaveno na azurovou hodnotu.
<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>
Poznámky
MultiDataTriggerumožňuje nastavit hodnoty vlastností na základě hodnot vrácených dat. Pokud například zobrazujete seznam položek úkolů, můžete chtít zobrazit úkol s červeným pozadím, pokud se jedná o vysokou prioritu a nevyhledá se déle než dva týdny.
Vytvoříte vazbu a použijete Path vlastnost k vytvoření vazby na vlastnost určitého objektu (zdrojový objekt vazby). Můžete například vytvořit vazbu na vlastnost Priorita úkolu. Další informace najdete v tématu Přehled datových vazeb.
Všimněte si, že pokud se jedná o podmínku pro , MultiDataTriggermusí být nastaveny Binding vlastnosti Value . Property Nastavení hodnoty by v takovém případě způsobilo výjimku.
Použití atributu XAML
<object property="{Binding declaration}"/>
Použití elementu vlastnosti XAML
<object>
<object.Binding>
<Binding …/>
</object.Binding>
</object>
Hodnoty XAML
Prohlášení
Deklarace vazby. Další informace najdete v tématu Přehled deklarací vazeb .