user819774
user819774

Reputation: 1514

using TabControl in windows phone

I read the article about using a TabControl on Windows Phone application. I can avoid it to fire when it is first load. However, the selectionChanged fired twice when user click the tab. Would someone can help me how to fix it. Thanks in advance.

There is my 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>

There is cobe behind:

 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;                



    }

Upvotes: 1

Views: 398

Answers (2)

Shawn Kendrot
Shawn Kendrot

Reputation: 12465

Please use the Pivot control instead of a TabControl for the WindowsPhone. the Pivot control follows the design guidelines for the phone and looks and feels much better.

Upvotes: 1

nkchandra
nkchandra

Reputation: 5557

It's very obvious in your code. You are adding SelectionChanged event handler twice. One from your XAML code and the other from the code behind. As you are using += symbol, the eventhandler is added as a seperate instance.

Remove one of those statements.

Upvotes: 1

Related Questions