I am learning expression blend using the following link http://visitmix.com/labs/rosetta/EyesOfBlend/DataTemplates/ It is a very good step by step instruction on using expression blend. I was able to do all the steps successfully and I was able to run the program and got the final result.
Right after step (9), before running the project, when I checked the designer, the designer did not show the image in the big image control I have added in step (9). I knew why, since the selected index of the ListBox was -1, so I changed the selectedindex to 0, now I was able to see the image. But when I compiled the code I get the following error
"Specified argument was out of the range of valid values. Parameter name:SelectedIndex"
XAML is
<Grid x:Name="LayoutRoot" Background="White" DataContext="{Binding Source={StaticResource SampleDataSource}}">
<Grid x:Name="itemGrid" DataContext="{Binding SelectedItem, ElementName=listBox}">
<Image Margin="185,56,153,160" Stretch="Fill" Source="{Binding Name}"/>
</Grid>
<ListBox x:Name="listBox" SelectedIndex="0" Margin="8,0,0,8" ItemsSource="{Binding Collection}" ItemTemplate="{StaticResource ItemTemplate1}" ItemsPanel="{StaticResource ItemsPanelTemplate1}" Height="101" VerticalAlignment="Bottom"/>
</Grid>
If I remove the selected index, all compile good. Could someone explain why it showed first time after compiling, it stopped working?
Thanks
You are almost always better binding to the SelectedItem than the SelectedIndex. If the Item is null, the binding should fail gracefully.