2012-08-28 27 views
1

我閱讀了關於在Windows Phone應用程序上使用TabControl的文章。第一次加載時,我可以避免它被觸發。但是,當用戶單擊選項卡時,selectionChanged會觸發兩次。有人可以幫助我如何解決它。提前致謝。在Windows Phone中使用TabControl

有我的TabControl:

<cc:TabControl Grid.Row="1" SelectionChanged="tabList_SelectionChanged" x:Name="tabList"> 
     <cc:TabItem Height="80" Header="Events" Foreground="Black"/> 
     <cc:TabItem Height="80" Header="Details" Foreground="Black"/> 
     <cc:TabItem Height="80" Header="Notes" Foreground="Black" /> 
    </cc:TabControl> 

有COBE背後:

public partial class Tab : PhoneApplicationPage 
{ 
    private bool blnFristLoad=true; 
    public Tab() 
    { 
     InitializeComponent(); 
     tabList.SelectionChanged += new SelectionChangedEventHandler(tabList_SelectionChanged); 
    } 

private void tabList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 

     if (blnFristLoad == false) 
     { 
      TabItem t = (sender as TabControl).SelectedItem as TabItem; 
      t.Content = "202020"; 
         } 
     else blnFristLoad = false;     



    } 

回答

1

它在你的代碼非常明顯。您正在添加兩次SelectionChanged事件處理程序。一個來自你的XAML代碼,另一個來自後面的代碼。當您使用+ =符號時,事件處理程序將作爲單獨的實例添加。

刪除其中一個語句。

1

請使用Pivot控件而不是WindowsPhone的TabControl。 Pivot控件遵循手機的設計指南,外觀和感覺更好。

+0

我有幾頁是肖像頁。如果我使用樞軸控制,我需要將它們更改爲一致。 – user819774

+0

樞軸可以(也應該:)可以用於橫向或縱向。 Ayou可以看到很多Pivot在電話本身的縱向頁面上使用的例子。查看設置,消息,電子郵件 –