Hi Guys,
When databind image file names (Text="{Binding XPath=Image}" )
The entire XPath shows up, for example, "Images/Cat.jpg"
How to just get "Cat" only?
Here is the XML file:
<?xml version="1.0" encoding="UTF-8"?><dataroot xmlns:od="urn:schemas-microsoft-com:officedata" generated="2011-06-04T14:21:45"><Animal><ID>01</ID><Image>Images/Cat.jpg</Image></Animal><Animal><ID>02</ID><Image>Images/Cattle.jpg</Image></Animal><Animal><ID>03</ID><Image>Images/Cock.png</Image></Animal><Animal><ID>04</ID><Image>Images/Dog.jpg</Image></Animal><Animal><ID>05</ID><Image>Images/Goat.jpg</Image></Animal><Animal><ID>06</ID><Image>Images/Horse.jpg</Image></Animal><Animal><ID>07</ID><Image>Images/Mice.jpg</Image></Animal><Animal><ID>08</ID><Image>Images/Ox.jpg</Image></Animal><Animal><ID>09</ID><Image>Images/Pig.jpg</Image></Animal><Animal><ID>19</ID><Image>Images/Rabbit.png</Image></Animal><Animal><ID>11</ID><Image>Images/Tiger.jpg</Image></Animal></dataroot>Here is the Xaml File:
Window x:Class="Animals.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="622" Width="779"><Window.Resources><DataTemplate x:Key="AnimalTemplate"><Grid><Grid><Grid.RowDefinitions><RowDefinition Height="80" /><RowDefinition Height="30" /></Grid.RowDefinitions><Image Grid.Row="0" Grid.RowSpan="2" Source="{Binding XPath=Image}" Width="160" Margin="5"/><TextBlock Grid.Row="1" HorizontalAlignment="Center" Text="{Binding XPath=Image}" Foreground="White" Width="160" Margin="5"/></Grid></Grid></DataTemplate></Window.Resources><Grid DataContext="{Binding Source={StaticResource AnimalsDataSource}}"><ListBox x:Name="AnimalList" HorizontalAlignment="Left" Height="470" ItemTemplate="{DynamicResource AnimalTemplate}" ItemsSource="{Binding XPath=/dataroot/Animal}" Margin="90,35,0,0" VerticalAlignment="Top" Width="235"/><Grid DataContext="{Binding SelectedItem, ElementName=AnimalList}" HorizontalAlignment="Left" Height="315" Margin="370,190,0,0" VerticalAlignment="Top" Width="335" ><Grid.RowDefinitions><RowDefinition Height="300" /><RowDefinition Height="60" /></Grid.RowDefinitions><Image Source="{Binding XPath=Image}" Grid.Row="0" Margin="0,5,5,25" /><TextBlock Text="{Binding XPath=Image}" Foreground="Black" Margin="25,245,20,5" FontSize="26.667"/></Grid></Grid></Window>