예제 #1
0
 private async void Grid_Loaded(object sender, RoutedEventArgs e)
 {
     List <Poster> list = Database.GetPosters(id);
     await Task.Run(async() => {
         if (list.Count > 0)
         {
             Dictionary <Poster, BitmapImage> dic = await GetPosters(list);
             Dispatcher.Invoke(() => {
                 var sb          = (Storyboard)FindResource("OpacityDown");
                 var temp        = sb.Clone();
                 temp.Completed += (s, ev) => { LoadingText.Visibility = Visibility.Collapsed; };
                 temp.Begin(LoadingText);
             }, DispatcherPriority.Send);
             foreach (var item in dic)
             {
                 Dispatcher.Invoke(() => {
                     PosterSelection ps     = new PosterSelection(item.Key, item.Value);
                     ps.Background.MouseUp += (s, ev) => OnClick(ps);
                     ps.Width   = 208;
                     ps.Opacity = 0;
                     var stb    = (Storyboard)FindResource("OpacityUp");
                     stb.Begin(ps);
                     Panel.Children.Add(ps);
                 }, DispatcherPriority.Send);
                 Thread.Sleep(16);
             }
         }
         else
         {
             Poster p   = new Poster();
             p.fileName = "kua";
             poster     = p;
         }
     });
 }
예제 #2
0
 private void OnClick(PosterSelection poster)
 {
     foreach (PosterSelection selection in Panel.Children)
     {
         if (selection.poster.id != poster.poster.id && selection.selected)
         {
             selection.Background_MouseUp(new object(), null);
         }
     }
     currentPoster = poster.selected ? poster.poster : null;
 }