1
我用我的WP8.1應用程序得到了一個問題。我有一個listView,當我點擊item時,它會讓我到一個新的頁面,但當我回到我的listView時,我可以重複使用相同的項目,但它不會讓我到任何地方。無法返回到同一頁面兩次。 c#Windows Phone 8.1
這是我在mainPage.xaml.cs中的listView SelectionChanged處理程序。
private void lvNom_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Person personneSelect = (Person)lvNom.SelectedItem;
Frame.Navigate(typeof(DetailPersonne), personneSelect);
}
這裏是我需要DetailPersonne.xaml.cs顯示頁面後面的代碼
public sealed partial class DetailPersonne : Page
{
public Person person;
public DetailPersonne()
{
this.InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
person = e.Parameter as Person;
if(string.IsNullOrEmpty(person.Nom) == true){
tbNom.Text = "Non renseigné.";
}
else{
tbNom.Text = person.Nom;
}
if (string.IsNullOrEmpty(person.Prenom) == true)
{
tbPrenom.Text = "Non renseigné.";
}
else{
tbPrenom.Text = person.Prenom;
}
唯一的導航改變我所做的就是處理硬件後退按鈕在我的App.xaml .cs
public App()
{
this.InitializeComponent();
this.Suspending += this.OnSuspending;
HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}
void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
Frame rootFrame = Window.Current.Content as Frame;
if(rootFrame != null && rootFrame.CanGoBack)
{
e.Handled = true;
rootFrame.GoBack();
}
}
因此,如果有人得到了一個修復,它會很好!提前致謝 ! :)
還有可能需要在事件內部檢查* null *,因此您將null置於* SelectedItem *,它將觸發* SelectionChanged *並可能拋出nullreference異常。 – Romasz 2015-02-11 09:43:17
@Romasz謝謝。更新我的回答 – user1 2015-02-11 09:45:51
感謝您的回答! – Erunayc 2015-02-12 10:53:44