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






Use DataTriggerand MultiDataTrigger.

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

   
    
    
  








Related examples in the same category

1.Enter and exit actions MouseEnter and MouseLeave, UnloadedEnter and exit actions MouseEnter and MouseLeave, Unloaded
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.
3.Multi Trigger: Pressed, Mouse overMulti Trigger: Pressed, Mouse over
4.Triggers: Control.IsFocused, Control.IsMouseOver, Button.IsPressedTriggers: Control.IsFocused, Control.IsMouseOver, Button.IsPressed
5.Apply Multiple Triggers to the Same ElementApply Multiple Triggers to the Same Element
6.Focused TriggerFocused Trigger
7.Evaluate Multiple Properties for the Same TriggerEvaluate Multiple Properties for the Same Trigger
8.Window Load as Animation TriggerWindow Load as Animation Trigger
9.Using a Trigger to modify the appearance of Button elementsUsing a Trigger to modify the appearance of Button elements
10.Using a Trigger to modify the appearance of a single ButtonUsing a Trigger to modify the appearance of a single Button
11.Declaring a local TriggerDeclaring a local Trigger
12.Using a Trigger to modify the appearance of any ControlUsing a Trigger to modify the appearance of any Control
13.Using a Trigger to modify multiple attributes of a ButtonUsing a Trigger to modify multiple attributes of a Button
14.Simple XAML Animation in EventTriggerSimple XAML Animation in EventTrigger