2013-08-28 104 views
2

美好的一天,每個人。我有以下問題:如何正確處理ListPicker SelectionChanged事件?

我有一個listpicker在XAML中聲明的x:Name =「Backgroundlist」,它工作正常。

其項聲明如下:

public MainPage() 
{ 
    InitializeComponent(); 
    Backgroundlist.Items.Add("photo"); 
    Backgroundlist.Items.Add("Bing");    
} 

但是,下面的代碼不會做的工作(即不顯示消息框):

private void Backgroundlist_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (Backgroundlist.SelectedItem.Equals("photo")) 
    { 
     MessageBox.Show("photo"); 
    } 
    if (Backgroundlist.SelectedItem.Equals("Bing")) 
    { 
     MessageBox.Show("Bing"); 
    } 
} 

似乎是什麼問題?謝謝!

P.S.我沒有例外

+0

'下面的代碼沒有做它的job'你得到一個異常? – PoweredByOrange

+0

親愛PoweredByOrange,感謝您的及時回覆) 不,我沒有得到一個例外。 –

+0

調用SelectionChanged時'SelectedItem'的類型是什麼? – PoweredByOrange

回答

2

好的。這就是交易。我不得不在XAML中聲明SelectionChanged="Picker"。下面是工作的全碼:

<toolkit:ListPicker x:Name="Backgroundlist" Header="Background" SelectionChanged="Picker" ExpansionMode="FullscreenOnly" /> 

public MainPage() 
     { 
      InitializeComponent(); 
      Backgroundlist.Items.Add("photo"); 
      Backgroundlist.Items.Add("Bing"); 
     } 

     private void Picker(object sender, SelectionChangedEventArgs e) 
     { 
      var picker = sender as ListPicker; 
      MessageBox.Show(picker.SelectedItem.ToString()); 
     } 

一切竟然是在最後十分簡陋)

相關問題