Step 1 : Open Visual Studio.
- Select new -> project
- Select your preferred language
- Select Silverlight for Windows Phone Pivot application
- Name the project
- Now name of project is "PivotApplication1"
Step 2 : Now customize the MainPage.xaml code according to our need; the code is given below.
Code
<controls:Pivot Title="FOODS" Visibility="Visible">
<controls:PivotItem Header=">>FastFood" FontSize="8" Height="Auto">
<ListBox x:Name="FastFood" Margin="0,0,-12,0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" >
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PivotItem>
<controls:PivotItem Header=">>VegItem" FontSize="8">
<ListBox x:Name="VegList" Margin="0,0,-12,0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" >
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PivotItem>
<controls:PivotItem Header=">>NonVeg" FontSize="8">
<ListBox x:Name="NonVegList" Margin="0,0,-12,0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" >
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PivotItem>
</controls:Pivot>
Step 3 : The whole code of the MainPage.xaml page is:
Code
<phone:PhoneApplicationPage xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls"
x:Class="PivotControl.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot is the root grid where all page content is placed-->
<controls:Pivot Title="FOODS" Visibility="Visible">
<controls:PivotItem Header=">>FastFood" FontSize="8" Height="Auto">
<ListBox x:Name="FastFood" Margin="0,0,-12,0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" >
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PivotItem>
<controls:PivotItem Header=">>VegItem" FontSize="8">
<ListBox x:Name="VegList" Margin="0,0,-12,0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" >
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PivotItem>
<controls:PivotItem Header=">>NonVeg" FontSize="8">
<ListBox x:Name="NonVegList" Margin="0,0,-12,0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" >
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PivotItem>
</controls:Pivot>
</phone:PhoneApplicationPage>
Step 4 : The final source code of the MainPage.xaml.cs file is:
Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
namespace PivotControl
{
public partial class MainPage : PhoneApplicationPage
{
FoodName[] names = new FoodName[20] {new FoodName("Barger", 1, 0),
newFoodName("chapati", 2, 3),
newFoodName("Dosa", 1, 2),
newFoodName("pizza", 1, 2),
new FoodName("nudal", 1, 2),
new FoodName("chaomin", 1, 0),
new FoodName("pao Bhaji", 1, 2),
new FoodName("Dam AAlu", 2, 0),
new FoodName("kadhi Panner", 2, 0),
new FoodName("Masala Masroom", 2, 0),
new FoodName("Rice", 2, 3),
new FoodName("Mix Veg", 2, 0),
new FoodName("Daal Makhni", 2, 0),
new FoodName("Butter Chapati", 2, 3),
new FoodName("Naan Rooti", 2, 3),
new FoodName("Masala Chikan", 3, 0),
new FoodName("Masala Muton", 3, 0),
new FoodName("Fry Fish", 3, 0),
new FoodName("Kadhi Chikan", 3, 0),
new FoodName("Kadhi Muton", 3, 0)};
// Constructor
public MainPage()
{
InitializeComponent();
FastFood.ItemsSource = from n in names
where (n.Gender1 == 1)
orderby n.Name
select new FoodName(n.Name, n.Gender1, n.Gender2);
VegList.ItemsSource = from n in names
where (n.Gender1 == 2 || n.Gender2 == 2)
orderby n.Name
select new FoodName(n.Name, n.Gender1, n.Gender2);
NonVegList.ItemsSource = from n in names
where (n.Gender1 == 3 || n.Gender2 == 3)
orderby n.Name
select new FoodName(n.Name, n.Gender1, n.Gender2);
}
}
}
Step 5 : Add a class in the Project to define the source for pivot items.
Code
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace PivotControl
{
public class FoodName
{
public string Name { get; set; }
public int Gender1 {get; set; }
public int Gender2 { get; set; }
public FoodName()
{
}
public FoodName(string name, int gender1, int gender2)
{
Gender1 = gender1;
Gender2 = gender2;
Name = name;
}
}
}
Step 6 : Press F5 to run the application.
Output