How to use Data Trigger in WPF

In this article we will learn how to use singledata and multidata trigger in WPF.
  • 12910
 

1.Create a project with WPF Application

2.Write code on Window1.Xaml

<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>
        
<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="">
            
<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"/>
    
</StackPanel>
</
Window>

3.Now write the code on Window1.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
    Partial Public 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(ByVal value As String)
                _name = value
            End Set
        End Property
        Public Property State() As String
            Get
                Return _state
            End Get
            Set(ByVal value As String)
                _state = value
            End Set
        End Property
        Public Sub New(ByVal name As StringByVal 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

4.End of the application.

5.Output Of the Application

trigger.jpg

Categories

More Articles

© 2020 DotNetHeaven. All rights reserved.