Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

DataTrigger, ListBox and user object

<Window x: Class="DataTriggerSample.Window1"   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   xmlns:c="clr-namespace:DataTriggerSample"   Title="DataTriggerSample" Height="300" Width="300">   <Window.Resources>     <c:People x:Key="PeopleData"/>     <Style TargetType="{x:Type ListBoxItem}">       <Style.Triggers>         <DataTrigger Binding="{Binding Path=Name}" Value="A">           <Setter Property="Background" Value="Yellow" />         </DataTrigger>         <MultiDataTrigger>           <MultiDataTrigger.Conditions>             <Condition Binding="{Binding Path=Name}" Value="S" />           </MultiDataTrigger.Conditions>           <MultiDataTrigger.Setters>             <Setter Property="Background" Value="LightGreen" />           </MultiDataTrigger.Setters>         </MultiDataTrigger>       </Style.Triggers>     </Style>     <DataTemplate DataType="{x:Type c:Person}">       <Canvas Width="260" Height="20">         <TextBlock FontSize="12" Width="130" Canvas.Left="0" Text="{Binding Path=Name}"/>       </Canvas>     </DataTemplate>   </Window.Resources>   <StackPanel>     <TextBlock FontSize="18" Margin="5" FontWeight="Bold"       HorizontalAlignment="Center">Data Trigger Sample</TextBlock>     <ListBox Width="250" HorizontalAlignment="Center" Background="White"       ItemsSource="{Binding Source={StaticResource PeopleData}}"/>   </StackPanel> </Window> //File:Window.xaml.vb Imports System Imports System.Collections.Generic Imports System.Text Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Input Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Shapes Imports System.Collections.ObjectModel Namespace DataTriggerSample   Public Partial Class Window1     Inherits System.Windows.Window     Public Sub New()       InitializeComponent()     End Sub   End Class   Public Class Person     Private _name As String     Public Property Name() As String       Get         Return _name       End Get       Set         _name = value       End Set     End Property     Public Sub New(name As String)       Me._name = name     End Sub   End Class   Public Class People     Inherits ObservableCollection(Of Person)     Public Sub New()       Add(New Person("A"))       Add(New Person("B"))       Add(New Person("C"))     End Sub   End Class End Namespace