Loading

豆瓣电台WP7客户端 开发记录6

今天把导航改成HubTile模式了,见图:

 

XAML:

<Grid x:Name="ContentPanel" Grid.Row="1" 
               HorizontalAlignment
="Left"
               VerticalAlignment
="Center"
              Margin
="10,0,10,0">
            
<Grid.ColumnDefinitions>
                
<ColumnDefinition/>
                
<ColumnDefinition/>
            
</Grid.ColumnDefinitions>
            
<Grid.RowDefinitions>
                
<RowDefinition Height="Auto"/>
                
<RowDefinition Height="Auto"/>
                
<RowDefinition Height="Auto"/>
            
</Grid.RowDefinitions>
            
<toolkit:HubTile Grid.Row="0" Grid.Column="0" 
                              Margin
="12,12,0,0"
                             x:Name
="HY"  ManipulationCompleted="ManipulationCompleted"/>
            
<toolkit:HubTile Grid.Row="0" Grid.Column="1"
                              Margin
="12,12,0,0"
                             x:Name
="OM"  ManipulationCompleted="ManipulationCompleted"/>
            
<toolkit:HubTile Grid.Row="1" Grid.Column="0"
                              Margin
="12,12,0,0"
                             x:Name
="RY"  ManipulationCompleted="ManipulationCompleted"/>
            
<toolkit:HubTile Grid.Row="1" Grid.Column="1"
                              Margin
="12,12,0,0"
                              x:Name
="HanY"  ManipulationCompleted="ManipulationCompleted"/>
            
<toolkit:HubTile Grid.Row="2" Grid.Column="0"
                              Margin
="12,12,0,0"
                              x:Name
="YY" ManipulationCompleted="ManipulationCompleted" />
            
<toolkit:HubTile Grid.Row="2" Grid.Column="1"
                             Margin
="12,12,0,0" 
                              x:Name
="FAV"  ManipulationCompleted="ManipulationCompleted" />

</Grid> 

 

cs:读取所有频道第一首歌的专辑封面

  1  public ChannelTile()
  2         {
  3             InitializeComponent();
  4             TouchPanel.EnabledGestures = GestureType.Tap | GestureType.HorizontalDrag;
  5             if (!PlayListHelper.IsInited)
  6             {
  7                 PlayListHelper.InitChannelComplete += new Action(PlayListHelper_InitChannelComplete);
  8                 PlayListHelper.InitChannel();//初始化播放列表
  9             }
 10         }
 11 
 12         /// <summary>
 13         /// 初始化tile的image跟title
 14         /// </summary>
 15         void PlayListHelper_InitChannelComplete()
 16         {
 17             var list = PlayListHelper.GetEachChannel1stSong();//获取所有频道的第一首歌曲
 18             var song = list.Where(s => s.channel == (int)ChannelType.华语).ToList();
 19             if (song != null && song.Count > 0)
 20             {
 21                 var s = song[0];
 22                 HY.Source = new BitmapImage(new Uri(s.picture, UriKind.Absolute));
 23                 HY.Title = ChannelType.华语.ToString();
 24                 HY.Message=s.artist+"-"+s.title;
 25             }
 26             else
 27             {
 28                 
HY.Title = ChannelType.华语.ToString();
 29                 
HY.Message = "No Song!";
 30             }
 31 
 32 
 33             song = list.Where(s => s.channel == (int)ChannelType.欧美).ToList();
 34             if (song != null && song.Count > 0)
 35             {
 36                 var s = song[0];
 37                 OM.Source = new BitmapImage(new Uri(s.picture, UriKind.Absolute));
 38                 OM.Title = ChannelType.欧美.ToString();
 39                 OM.Message = s.artist + "-" + s.title;
 40             }
 41             else
 42             {
 43                 OM.Title = ChannelType.欧美.ToString();
 44                 OM.Message = "No Song!";
 45             }
 46 
 47 
 48             song = list.Where(s => s.channel == (int)ChannelType.韩语).ToList();
 49             if (song != null && song.Count > 0)
 50             {
 51                 var s = song[0];
 52                 HanY.Source = new BitmapImage(new Uri(s.picture, UriKind.Absolute));
 53                 HanY.Title = ChannelType.韩语.ToString();
 54                 HanY.Message = s.artist + "-" + s.title;
 55             }
 56             else
 57             {
 58                 HanY.Title = ChannelType.韩语.ToString();
 59                 HanY.Message = "No Song!";
 60             }
 61 
 62             song = list.Where(s => s.channel == (int)ChannelType.日语).ToList();
 63             if (song != null && song.Count > 0)
 64             {
 65                 var s = song[0];
 66                 RY.Source = new BitmapImage(new Uri(s.picture, UriKind.Absolute));
 67                 RY.Title = ChannelType.日语.ToString();
 68                 RY.Message = s.artist + "-" + s.title;
 69             }
 70             else
 71             {
 72                 RY.Title = ChannelType.日语.ToString();
 73                 RY.Message = "No Song!";
 74             }
 75 
 76             song = list.Where(s => s.channel == (int)ChannelType.粤语).ToList();
 77             if (song != null && song.Count > 0)
 78             {
 79                 var s = song[0];
 80                 YY.Source = new BitmapImage(new Uri(s.picture, UriKind.Absolute));
 81                 YY.Title = ChannelType.粤语.ToString();
 82                 YY.Message = s.artist + "-" + s.title;
 83             }
 84             else
 85             {
 86                 YY.Title = ChannelType.粤语.ToString();
 87                 YY.Message = "No Song!";
 88             }
 89 
 90             song = list.Where(s => s.channel == (int)ChannelType.最爱).ToList();
 91             if (song != null&&song.Count>0)
 92             {
 93                 var s = song[0];
 94                 FAV.Source = new BitmapImage(new Uri(s.picture, UriKind.Absolute));
 95                 FAV.Title = ChannelType.最爱.ToString();
 96                 FAV.Message = s.artist + "-" + s.title;
 97             }
 98             else
 99             {
100                 FAV.Title = ChannelType.最爱.ToString();
101                 FAV.Message = "No Song!";
102             }
103                 

104         }

 

点击频道导航到MainPage:

 1 HubTile ht = sender as HubTile;  

2 this.NavigationService.Navigate(new Uri("/MainPage.xaml?Channle=" + ht.Title, UriKind.Relative));
posted @ 2011-09-09 02:13  Agile.Zhou  阅读(938)  评论(5编辑  收藏  举报