У меня есть две страницы XAML.На одной странице (с именем Page1) есть список с именем «незнакомцы», и внутри этого ListBox, ListBoxItems.
Моя вторая страница называется: Page2.
Всякий раз, когда кто-то нажимает на ListBoxItem из Page1, имяListBoxItem переносится на другую страницу XAML, Page2, где Page2 будет читать имя ListboxItem, а затем, основываясь на имени LisBoxItem, заполнит страницу текстом.
Кстати, я хочуПройдите через сотни списочных элементов, каждый из которых вызывает одну и ту же функцию General_MouseLeftButtonDown, и динамически изменяет содержимое страницы на основе имени элемента списка, по которому был выполнен щелчок.
Все содержимое будет находиться в телефоне при запуске.
Однако, похоже, есть проблема - я не могу заставить это работать.Вот мой код, и, надеюсь, вы все поможете.
Page1 Xaml info:
<ListBox x:Name="Strangers" Margin="0,0,-12,0">
<ListBoxItem x:Name="Peter">
<StackPanel Orientation="Horizontal" Margin="0,0,0,17" MouseLeftButtonDown="General_MouseLeftButtonDown">
</StackPanel>
</ListBoxItem>
Page1 C # info:
PhoneApplicationService phoneAppService = PhoneApplicationService.Current;
private void General_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var namers="";
namers= (sender as ListBoxItem).Name.ToString();
phoneAppService.State["theperson"] = namers;
NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative));
}
Page2 C #:
PhoneApplicationService phoneAppService = PhoneApplicationService.Current;
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
object something="";
if (phoneAppService.State.ContainsKey("theperson"))
{
if (phoneAppService.State.TryGetValue("theperson", out something))
{
string namers = something.ToString();
Textblock.Text = namers;
}
}
}
Однако, когда я запускаю это, я получаю сообщение об ошибке после нажатия элемента списка для перехода на страницу перехода.Я получаю следующую ошибку:
NullReferenceException
на
namers = (отправитель как ListBoxItem) .Name.ToString ();
Правильно ли я делаю эту передачу данных XAML?Очевидно, что-то не так, но я не могу понять, что или почему.