WPF ListBox Control
 
Introduction
The ListBox control displays a list of items. The user can select one
 or multiple items depending on the selection mode. The typical usage of
 a listbox in WPF is to bind its items to a list of business objects and
 display them by applying a data template.
 
<ListBox Margin="20">
    <ListBoxItem>New York</ListBoxItem>
    <ListBoxItem>Los Angeles</ListBoxItem>
    <ListBoxItem>Paris</ListBoxItem>
    <ListBoxItem>Zürich</ListBoxItem>
</ListBox>
 
 
 
How to define a Trigger for IsSelected in the DataTemplate
If you want to change the appearance of a ListBoxItem when it is 
selected, you have to bind the IsSelected property of the ListBoxItem. 
But this is a bit tricky, you have to use a relative source with 
FindAcestor to navigate up the visual tree until you reach the 
ListBoxItem.
 
<DataTemplate x:Key="myDataTemplate">
    <Border x:Name="border" Height="50">
        <TextBlock Text="{Binding Text}" />
    </Border>
    <DataTemplate.Triggers>
        <DataTrigger Binding="{Binding RelativeSource=
            {RelativeSource Mode=FindAncestor, AncestorType=
                {x:Type ListBoxItem}},Path=IsSelected}" Value="True">
            <Setter TargetName="border" Property="Height" Value="100"/>
        </DataTrigger>
    </DataTemplate.Triggers>
</DataTemplate>
 
 
No comments:
Post a Comment