Следуя инструкциям в http://www.geekchamp.com/articles/windows-phone-mvvm-master---details-navigation-in-5-minutes, я добавил новый проект для моего решения, чтобы отобразить MasterPage (содержащий ListBox с изображением и тексблоком в DataTemplate) и DetailsPage (Header, Image и TextBlock в StackPanel) , В списке представлены только штрафом, но нажав либо на изображение или TextBlock не перейти к DetailsPage или где-нибудь еще, но он выдает эту ошибку на выходе:Перейдите с ListBox на страницу подробных сведений. WP8
Исключение из «System.InvalidOperationException» типа произошел в Microsoft.Phone.ni.dll и не был обработан до управляемой/родной границы . Программа «[732] TaskHost.exe» вышла с кодом -1 (0xffffffff).
И идет к этой части кода в файле App CS:
// Code to execute if a navigation fails
private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
{
if (Debugger.IsAttached)
{
// A navigation has failed; break into the debugger
Debugger.Break();
}
}
Если я придерживаюсь курсор параметр 'е' в процедуре NavigationFailed, он говорит:
XAML не найден на карте '/DetailsPage.xaml'
Это то, что я имею в «MasterPage.xaml», есть список:
<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock Text="Tips Semana 1" Style="{StaticResource WeekHeader}"/>
<ListBox x:Name="MainListBox" Margin="10" Background="#50F5F5F5" Foreground="Black"
ItemsSource="{Binding Items}"
SelectionChanged="MainListBox_SelectionChanged" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Image}" Width="100" Height="100" Stretch="Uniform"/>
<TextBlock Text="{Binding Title}" TextWrapping="Wrap" Margin="10"
FontSize="25" VerticalAlignment="Center"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
И вот код позади. Пожалуйста, если кто-нибудь может сказать мне ошибку и вести меня правильно в использовании SelectedItem/SelectedItem/SelectedIndex/SelectedIndex (я просто не знаю, как использовать их, ни их правильное обозначение)
private void MainListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//If Selected Item is null (no selection) do nothing
if (MainListBox.SelectedItem == null)
return;
//Navigate to the new page
NavigationService.Navigate(new Uri("/DetailsPage.xaml?selectedItem=" + MainListBox.SelectedItem, UriKind.Relative));
//NavigationService.Navigate(new Uri("/DetailsPage.xaml?selectedIndex=" + MainListBox.SelectedIndex, UriKind.Relative));
//Reset selected item to null (no selection)
MainListBox.SelectedItem = null;
}
Разве ваш Solution Explorer выглядит так: http://i.imgur.com/EI62RqS.png? –
Да, это выглядит так же, как и папка «images». –