2016-07-27 7 views
0

Ich teste etwas, aber .. ich steckte am Anfang fest. Ich habe viele Dinge getestet, im Web suchen, aber nichts. In MainPage.xaml:UWP Frame Null Referenz

<SplitView.Content> 
     <Frame Name="MainPageMyFrame"></Frame> 
    </SplitView.Content> 

In CS- der Mainpage:

private void ListView_ItemClick(object sender, ItemClickEventArgs e) 
    { 
     if (MainPageListView.SelectedIndex == 0) 
     { 
      MainPageMyFrame.Navigate(typeof(Pages.MainWindow)); 
     } 
    } 

und jedes Mal, wenn ich 0 in Artikel ID bin klicken; im bekommen, und wenn es dann navigieren möchten:

Exception thrown: 'System.NullReferenceException'

Mainwindow ist Usercontrol. Hat jemand eine Idee, wie Sie diesen Fehler beheben können?

@update MainPage.xaml

<SplitView Grid.Row="1" Name="MainPageSplitView" OpenPaneLength="200" CompactPaneLength="50" DisplayMode="CompactOverlay"> 
     <SplitView.Pane> 
      <ListView Name="MainPageListView" Background="LightGray" ItemClick="ListView_ItemClick" IsItemClickEnabled="True"> 
       <ListView.Items> 

        <ListViewItem BorderThickness="0,1,0,1" BorderBrush="DarkGray"> 
         <StackPanel Orientation="Horizontal"> 
          <TextBlock Foreground="Black" FontFamily="Segoe MDL2 Assets" Text="&#xE806;" FontSize="25" /> 
          <TextBlock Margin="15, 0" Foreground="Black" FontSize="20" VerticalAlignment="Center" Text="Rozkład jazdy" /> 
         </StackPanel> 
        </ListViewItem> 

        <ListViewItem BorderThickness="0,0,0,1" BorderBrush="DarkGray"> 
         <StackPanel Orientation="Horizontal"> 
          <TextBlock Foreground="Black" FontFamily="Segoe MDL2 Assets" Text="&#xEC15;" FontSize="25" /> 
          <TextBlock Margin="15, 0" Foreground="Black" FontSize="20" VerticalAlignment="Center" Text="Komunikaty" /> 
         </StackPanel> 
        </ListViewItem> 

       </ListView.Items> 
      </ListView> 
     </SplitView.Pane> 
     <SplitView.Content> 
      <Frame Name="MainPageMyFrame" /> 
     </SplitView.Content> 
    </SplitView> 

und Hier gehen wir, CS- davon:

public sealed partial class MainPage : Page 
{ 
    public MainPage() 
    { 
     this.InitializeComponent(); 

     MainPageListView.SelectedIndex = 0; 
    } 

    private void MainPageRelativePanelButton_Click(object sender, RoutedEventArgs e) 
    { 
     MainPageSplitView.IsPaneOpen = !MainPageSplitView.IsPaneOpen; 
    } 

    private void ListView_ItemClick(object sender, ItemClickEventArgs e) 
    { 
     if((sender as ListView).SelectedIndex == 0) // rozklad jazdy 
     { 
      MainPageMyFrame.Navigate(typeof(Pages.MainWindow)); // from here i want to navigate 
     } 
    } 
} 

MainWindow.xaml (Seite, wo ich navigieren wollen)

<UserControl 
    x:Class="RozkladJazdy.Pages.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:RozkladJazdy.Pages" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" 
    d:DesignHeight="300" 
    d:DesignWidth="400"> 

    <Grid> 
     <StackPanel Name="MainPageStackPanel" VerticalAlignment="Center" HorizontalAlignment="Center"> 

      <TextBlock VerticalAlignment="Center" Name="MainPageTextBlock"/> 
      <ProgressRing Name="MainPageProgressRing" IsActive="True" Width="50" Height="50"/> 

     </StackPanel> 
    </Grid> 
</UserControl> 

.cs:

using RozkladJazdy.Model; 
using Windows.UI; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Media; 

// The User Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234236 

namespace RozkladJazdy.Pages 
{ 
    public sealed partial class MainWindow : UserControl 
    { 
     public static string[,] Lines; 

     public MainWindow() 
     { 
      this.InitializeComponent(); // here the error is thrown 
     } 
    } 
} 

Das ist alles, ist hier etwas falsch?

+0

Es ist wirklich unklar, was Sie fragen –

+0

leider :( Ich will diesen Fehler beheben. Und .. unglücklich ich weiß nicht, wie es – Niewidzialny

+0

tun, nur etwas überprüfte ich, und dass Fehler in der Datei ' Pages.MainWindow 'vor allem in' this.InitalizeComponent() 'dann crash .. – Niewidzialny

Antwort

1

Wie @Anthony Russell und @SWilko sagte, Das Problem, ich wollte zu einem UserControl navigieren, wo ich zu einer Seite navigieren sollte.

Bevor ich eine WPF-App erstellt habe, habe ich vergessen, dass in UWP eine Page sein sollte.

+0

Sie können zu einem Benutzersteuerelement nicht navigieren und es kann die Seite usw. navigieren. Sie können das Benutzersteuerelement als eine Seite ausführen. – lindexi