Я тестирую что-то, но .. im застрял в начале. Я проверил многие вещи, глядя в Интернете, но ничего. В MainPage.xaml:UWP Frame null reference
<SplitView.Content>
<Frame Name="MainPageMyFrame"></Frame>
</SplitView.Content>
В .cs из MainPage:
private void ListView_ItemClick(object sender, ItemClickEventArgs e)
{
if (MainPageListView.SelectedIndex == 0)
{
MainPageMyFrame.Navigate(typeof(Pages.MainWindow));
}
}
и каждый раз, когда я буду нажав на пункт ид 0; им получать, и когда он хочет, чтобы перейти затем:
Exception thrown: 'System.NullReferenceException'
MainWindow является UserControl. У кого-нибудь есть идея, как исправить эту ошибку?
@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="" 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="" 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>
и здесь мы идем, .cs из него:
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 (страница, где я хочу, чтобы перейти)
<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
}
}
}
Вот и все, что-то не так?
Это действительно непонятно, что вы спрашиваете –
К сожалению :( Я хочу, чтобы исправить эту ошибку. И .. несчастен я не знаю, как сделать это – Niewidzialny
я только что проверил что-то, и что ошибка в ' Pages.MainWindow' особенно в 'this.InitalizeComponent()' then crash .. – Niewidzialny