Mega Code Archive

 
Categories / VB.Net / WPF
 

Use DataTriggerand MultiDataTrigger

<Window Background="Cornsilk"   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   xmlns:c="clr-namespace:WpfApplication1"   x:Class="WpfApplication1.Window1"   Title="DataTrigger Sample" Width = "320" Height = "300">   <Window.Resources>     <c:Employees x:Key="EmployeesData"/>     <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:Employee}">       <Canvas Width="160" Height="20">         <TextBlock Text="{Binding Path=Name}"/>         <TextBlock 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 EmployeesData}}"/>   </StackPanel> </Window> //File:Window.xaml.vb Imports System Imports System.ComponentModel Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Documents Imports System.Windows.Navigation Imports System.Windows.Shapes Imports System.Windows.Data Imports System.Collections.ObjectModel Namespace WpfApplication1   Public Partial Class Window1     Inherits Window     Public Sub New()       InitializeComponent()     End Sub   End Class   Public Class Employee     Private _name As String     Private _state As String     Public Property Name() As String       Get         Return _name       End Get       Set         _name = value       End Set     End Property     Public Property State() As String       Get         Return _state       End Get       Set         _state = value       End Set     End Property     Public Sub New(name As String, state As String)       Me._name = name       Me._state = state     End Sub   End Class   Public Class Employees     Inherits ObservableCollection(Of Employee)     Public Sub New()       Add(New Employee("A", "WA"))       Add(New Employee("B", "OR"))       Add(New Employee("C", "WA"))       Add(New Employee("D", "CA"))     End Sub   End Class End Namespace