<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Window.Resources> <XmlDataProvider x:Key="MyData" XPath="/Info"> <x:XData> <Info xmlns=""> <Song Name="Song 1" Artist="Artist 1"/> <Song Name="Song 2" Artist="Artist 2"/> <Song Name="Song 3" Artist="Artist 1"/> </Info> </x:XData> </XmlDataProvider> <Style x:Key="MyContainer" TargetType="{x:Type ListViewItem}"> <Style.Triggers> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="Cursor" Value="Hand"/> </Trigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsSelected" Value="true" /> <Condition Property="Selector.IsSelectionActive" Value="true" /> </MultiTrigger.Conditions> <Setter Property="Foreground" Value="Red" /> </MultiTrigger> </Style.Triggers> </Style> <DataTemplate x:Key="FirstCell"> <StackPanel Orientation="Horizontal"> <CheckBox IsChecked="{Binding Path=IsSelected,RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}"/> </StackPanel> </DataTemplate> </Window.Resources> <StackPanel> <ListView ItemsSource="{Binding Source={StaticResource MyData}, XPath=Song}" ItemContainerStyle="{StaticResource MyContainer}" SelectionChanged="mySelectionChanged" SelectionMode="Single" Name="myPlaylist"> <ListView.View> <GridView> <GridViewColumn CellTemplate="{StaticResource FirstCell}" Width="30"/> <GridViewColumn Header="Name" DisplayMemberBinding="{Binding XPath=@Name}" Width="80"/> <GridViewColumn Header="Artist" DisplayMemberBinding="{Binding XPath=@Artist}" Width="80" /> </GridView> </ListView.View> </ListView> <TextBlock Margin="20" Name="NowPlaying"/> </StackPanel> </Window> //File:Window.xaml.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Media; using System.Windows.Shapes; using System.Windows.Controls.Primitives; using System.Collections.ObjectModel; using System.Xml; namespace WpfApplication1 { public partial class Window1 : Window { void mySelectionChanged(object sender, SelectionChangedEventArgs e){ XmlElement mySelectedElement = (XmlElement)myPlaylist.SelectedItem; NowPlaying.Text = mySelectedElement.GetAttribute("Name").ToString() + " by " +mySelectedElement.GetAttribute("Artist").ToString(); } } }