MultiDataTrigger.Conditions Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Nesne koleksiyonunu Condition alır. Özellik değerlerinde yapılan değişiklikler, koleksiyondaki tüm koşullar karşılandığında uygulanır.
public:
property System::Windows::ConditionCollection ^ Conditions { System::Windows::ConditionCollection ^ get(); };
public System.Windows.ConditionCollection Conditions { get; }
member this.Conditions : System.Windows.ConditionCollection
Public ReadOnly Property Conditions As ConditionCollection
Özellik Değeri
Condition nesneleri topluluğu. Varsayılan değer boş bir topluluktur.
Örnekler
Aşağıdaki örnekte, ItemsSource özelliğinin ListBox nesnesi ile Places
ObservableCollection<T> Place
ilişkilidir. Place
nesneleri ve State
özelliklerine Name
sahiptir. ve Places
tanımı Place
gösterilmez.
her ListBoxItem biri ListBox bir Place
nesne görüntüler. Style örnekteki her öğesine ListBoxItemuygulanır. Condition öğelerinin MultiDataTrigger öğeleri, veri öğesinin Portland
ve sırasıyla ve Place
State
OR
olduğundaName
, ilgili ListBoxItem arka plan değerinin olarak Cyan
ayarlandığını belirtir.
<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>
Açıklamalar
bir MultiDataTrigger nesnesine MultiTriggerbenzer, ancak koşullarının MultiDataTrigger bir yerine UIElementilişkili verilerin özellik değerlerini temel alması gerekir. içinde MultiDataTrigger, veri öğesinin özellik değeri belirtilen Valueile eşleştiğinde bir koşul karşılanır. Bu değer önce mümkünse bağlama değerinin türüne dönüştürülür ve ardından iki değer yöntemi kullanılarak Object.Equals
karşılaştırılır. , MultiTrigger tüm koşullar doğru olduğunda ilişkili ayarlayıcıları veya eylemleri uygular (ikili AND
işlem).
içinMultiDataTrigger, koleksiyondaki her koşul hem hem Value de Binding özelliklerini ayarlamalıdır. Daha fazla bilgi için bkz. Binding.
XAML Özellik Öğesi Kullanımı
<object>
<object.Conditions>
zeroOrMoreConditions
</object.Conditions>
</object>
XAML Değerleri
zeroOrMoreConditions
Sıfır veya daha fazla Condition nesne.