Click here to Skip to main content
15,888,521 members
Articles / Mobile Apps / Windows Phone 7

The Big Bang Transcripts Viewer

Rate me:
Please Sign up or sign in to vote.
4.95/5 (52 votes)
12 Jan 2012CPOL10 min read 168.1K   1.4K   60  
Learn how to download your favorite TV transcripts and format it in your Smartphone.
<phone:PhoneApplicationPage 
    x:Class="TBBT.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:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
    xmlns:converters="clr-namespace:TBBT.Converters"
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="800" 
    d:DataContext="{d:DesignData SampleData/MainViewModelSampleData.xaml}"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait"  Orientation="Portrait"
    shell:SystemTray.IsVisible="False">

    <phone:PhoneApplicationPage.Resources>
        <converters:EvenQuoteIdToVisibilityConverter x:Key="evenQuoteIdToVisibilityConverter"/>
        <converters:OddQuoteIdToVisibilityConverter x:Key="oddQuoteIdToVisibilityConverter"/>
        <converters:QuoteIdToBalloonColumnConverter x:Key="quoteIdToBalloonColumnConverter"/>
        <converters:QuoteIdToPictureColumnConverter x:Key="quoteIdToPictureColumnConverter"/>
        <converters:QuoteIdToBaloonBrushConverter x:Key="quoteIdToBaloonBrushConverter"/>
        <converters:QuoteIdToFontBrushConverter x:Key="quoteIdToFontBrushConverter"/>
    </phone:PhoneApplicationPage.Resources>
    
    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <toolkit:PerformanceProgressBar VerticalAlignment="Center" x:Name="performanceProgressBar"/>
        <!--Panorama control-->
        <controls:Panorama x:Name="panorama" Title="the big bang transcripts">
            <controls:Panorama.Background>
                <ImageBrush ImageSource="PanoramaBackground.png"/>
            </controls:Panorama.Background>
 
            <!--Panorama item one-->
            <controls:PanoramaItem Header="seasons">
                <!--Double line list with text wrapping-->
                <ListBox x:Name="lstSeasons" Margin="0,0,-12,0" SelectionMode="Single" ItemsSource="{Binding Seasons}" SelectedItem="{Binding SelectedEpisode, Mode=TwoWay}" SelectionChanged="lstSeasons_SelectionChanged">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Margin="0,0,0,17" Width="432" Height="78">
                                <TextBlock Text="{Binding Header}" TextWrapping="NoWrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                                <TextBlock Text="{Binding Details}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </controls:PanoramaItem>

            <!--Panorama item two-->
            <!--Use 'Orientation="Horizontal"' to enable a panel that lays out horizontally-->
            <controls:PanoramaItem Header="search">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="25"/>
                        <RowDefinition Height="75"/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>
                    <Grid x:Name="grdSearchProgress" Visibility="Collapsed">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="60"/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>
                        <TextBlock x:Name="txtSearchProgress" Grid.Column="0" Text="100%" Height="100" Margin="10,0,0,0"/>
                        <toolkit:PerformanceProgressBar Grid.Column="1" VerticalAlignment="Center" x:Name="performanceProgressBarSearchQuotes"/>
                    </Grid>
                    <toolkit:PhoneTextBox x:Name="txtSearchEpisodes" Grid.Row="1" InputScope="Search" KeyUp="txtSearchEpisodes_KeyUp" GotFocus="txtSearchEpisodes_GotFocus"/>
                    <!--Double line list with image placeholder and text wrapping-->
                    <ListBox x:Name="lstSearchEpisodes" Grid.Row="2" Margin="0,0,-12,0" ItemsSource="{Binding SearchItems}" SelectionChanged="lstSearchEpisodes_SelectionChanged">
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <StackPanel>
                                    <StackPanel Orientation="Horizontal">
                                        <TextBlock Text="Season "></TextBlock>
                                        <TextBlock Text="{Binding Season}"/>
                                        <TextBlock Text=" Episode "></TextBlock>
                                        <TextBlock Text="{Binding Number}"/>
                                    </StackPanel>
                                    <StackPanel>
                                        <Grid HorizontalAlignment="Stretch">
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="100"/>
                                                <ColumnDefinition Width="250"/>
                                                <ColumnDefinition Width="100"/>
                                            </Grid.ColumnDefinitions>
                                            <StackPanel Grid.Column="{Binding Id, Converter={StaticResource quoteIdToPictureColumnConverter}}" VerticalAlignment="Center">
                                                <Image Source="{Binding Image}" Height="100" Width="100"></Image>
                                                <TextBlock Text="{Binding Character}"/>
                                            </StackPanel>
                                            <Grid Grid.Column="{Binding Id, Converter={StaticResource quoteIdToBalloonColumnConverter}}" Grid.ColumnSpan="2" Margin="5,15,5,15">
                                                <Grid.ColumnDefinitions>
                                                    <ColumnDefinition Width="20"/>
                                                    <ColumnDefinition/>
                                                    <ColumnDefinition Width="20"/>
                                                </Grid.ColumnDefinitions>
                                                <Path Grid.Column="0" Visibility="{Binding Id, Converter={StaticResource evenQuoteIdToVisibilityConverter}}" Fill="{Binding Id, Converter={StaticResource quoteIdToBaloonBrushConverter}}" Data="M0,1 L1,0 L1,2 L0,1" Height="20" Width="20" Stretch="Fill"/>
                                                <Rectangle Grid.Column="1" Fill="{Binding Id, Converter={StaticResource quoteIdToBaloonBrushConverter}}" RadiusX="4" RadiusY="4"/>
                                                <TextBlock Grid.Column="1" Text="{Binding Speech}" FontSize="26" TextWrapping="Wrap" Margin="4" Foreground="{Binding Id, Converter={StaticResource quoteIdToFontBrushConverter}}"></TextBlock>
                                                <Path Grid.Column="2" Visibility="{Binding Id, Converter={StaticResource oddQuoteIdToVisibilityConverter}}" Fill="{Binding Id, Converter={StaticResource quoteIdToBaloonBrushConverter}}" Data="M1,1 L0,0 L0,2 L1,1" Height="20" Width="20" Stretch="Fill"/>
                                            </Grid>
                                        </Grid>
                                    </StackPanel>
                                </StackPanel>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>
                </Grid>
            </controls:PanoramaItem>
            <!--Panorama item three-->
            <controls:PanoramaItem Header="about">
                <Border>
                    <Grid Margin="20">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="200"/>
                            <RowDefinition/>
                            <RowDefinition Height="75"/>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="200"/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>
                        <Image Source="Images/LargePCAppTile.png" HorizontalAlignment="Left"/>
                        <TextBlock Grid.Column="1" VerticalAlignment="Center" TextWrapping="Wrap">The Big Bang Transcripts Viewer</TextBlock>
                        <StackPanel Grid.Row="1" Grid.ColumnSpan="2" VerticalAlignment="Center">
                            <TextBlock x:Name="txtAppName"></TextBlock>
                            <TextBlock x:Name="txtVersion"></TextBlock>
                            <TextBlock>© 2011 Wiki Dev Brazil</TextBlock>

                            <StackPanel Orientation="Horizontal" Height="100">
                                <Image Source="Images/WikiLogo.png"/>
                                <TextBlock VerticalAlignment="Center" FontSize="28" Margin="10">www.wikidev.com.br</TextBlock>
                            </StackPanel>
                            <Button x:Name="btnWikiDev" Click="btnWikiDev_Click">More Apps from Wiki Dev!</Button>
                        </StackPanel>

                        <Button Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" x:Name="btnReview" Click="btnReview_Click">Please Submit a Review!</Button>
                    </Grid>
                </Border>
            </controls:PanoramaItem>
        </controls:Panorama>
    </Grid>
</phone:PhoneApplicationPage>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Instructor / Trainer Alura Cursos Online
Brazil Brazil

Comments and Discussions