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í hodnota je null.
Příklady
V následujícím příkladu ListBox je vázána ItemsSource na Místa, objekty ObservableCollection<T>Place. Objekty umístění mají vlastnosti Name a State.
Každý ListBoxItem z nich ListBox zobrazí objekt Place . V Style příkladu se použije na každý z nich ListBoxItem. MultiDataTrigger Jsou Conditionzadány tak, že pokud je název a stav datové položky místa "Portland" a "OR", pak pozadí odpovídající ListBoxItem je nastaveno na Azuru.
<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 má vysokou prioritu a nebude se na ně dívat déle než dva týdny.
Vytvoříte vazbu a pomocí Path vlastnosti vytvoříte vazbu 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 objekt MultiDataTrigger, musí 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 .