Use DataTriggerand MultiDataTrigger. : EventTrigger « Windows Presentation Foundation « VB.Net Tutorial






<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
WPF Use Data Triggerand Multi Data Trigger








16.88.EventTrigger
16.88.1.Enter and exit actions MouseEnter and MouseLeave, UnloadedEnter and exit actions MouseEnter and MouseLeave, Unloaded
16.88.2.Use EventTrigger elements to animate the MouseEnter and OnMouseLeave events of a Rectangle.Use EventTrigger elements to animate the MouseEnter and OnMouseLeave events of a Rectangle.
16.88.3.Multi Trigger: Pressed, Mouse overMulti Trigger: Pressed, Mouse over
16.88.4.Triggers: Control.IsFocused, Control.IsMouseOver, Button.IsPressedTriggers: Control.IsFocused, Control.IsMouseOver, Button.IsPressed
16.88.5.Apply Multiple Triggers to the Same ElementApply Multiple Triggers to the Same Element
16.88.6.Focused TriggerFocused Trigger
16.88.7.Evaluate Multiple Properties for the Same TriggerEvaluate Multiple Properties for the Same Trigger
16.88.8.Window Load as Animation TriggerWindow Load as Animation Trigger
16.88.9.Using a Trigger to modify the appearance of Button elementsUsing a Trigger to modify the appearance of Button elements
16.88.10.Using a Trigger to modify the appearance of a single ButtonUsing a Trigger to modify the appearance of a single Button
16.88.11.Declaring a local TriggerDeclaring a local Trigger
16.88.12.Using a Trigger to modify the appearance of any ControlUsing a Trigger to modify the appearance of any Control
16.88.13.Using a Trigger to modify multiple attributes of a ButtonUsing a Trigger to modify multiple attributes of a Button
16.88.14.Simple XAML Animation in EventTriggerSimple XAML Animation in EventTrigger
16.88.15.Use DataTriggerand MultiDataTrigger.Use DataTriggerand MultiDataTrigger.