private async void selectEffect(object sender, SelectionChangedEventArgs e) { loading.Visibility = Windows.UI.Xaml.Visibility.Visible; if (e != null && e.AddedItems != null && e.AddedItems.Count > 0) { var i = e.AddedItems[e.AddedItems.Count - 1] as EffectedImageItem; if (i != null) { i.Visible = Windows.UI.Xaml.Visibility.Visible; App.photo.AddFilterModel(i.Filter); WriteableBitmap b = new WriteableBitmap(App.photo.Width, App.photo.Height); await App.photo.RenderBitmapAsync(b); xImage.Source = b; App.photo.RemoveLastFilter(); selectedFilter = i.Filter; } } if (e != null && e.RemovedItems != null) { foreach (var item in e.RemovedItems) { EffectedImageItem i = item as EffectedImageItem; if (i != null) { i.Visible = Windows.UI.Xaml.Visibility.Collapsed; } } } loading.Visibility = Windows.UI.Xaml.Visibility.Collapsed; }
async void EffectImagePage_Loaded(object sender, RoutedEventArgs e) { loading.Visibility = Windows.UI.Xaml.Visibility.Visible; xImage.Source = App.photo.OriginalBitmap; int count = 1; listCategory.Clear(); foreach (var listFilter in filterCollection.FilterList) { CategoryEffectControl category = new CategoryEffectControl(); List <EffectedImageItem> listItem = new List <EffectedImageItem>(); foreach (FilterModel filter in listFilter) { EffectedImageItem image = new EffectedImageItem(); image.Filter = filter; image.Text = filter.Name; App.photo.AddFilterModel(filter); image.OutputBitmap = await App.photo.LayHinhThuNho(80); App.photo.RemoveLastFilter(); image.Height = 80; image.Width = 80; image.Visible = Windows.UI.Xaml.Visibility.Collapsed; listItem.Add(image); } category.ListEffectedItems = listItem; category.Height = 60; category.Width = 60; category.Text = count.ToString(); count++; category.IsSelected = Visibility.Collapsed; listCategory.Add(category); } listSelection.ItemsSource = listCategory; listSelection.SelectedIndex = 0; loading.Visibility = Windows.UI.Xaml.Visibility.Collapsed; }