Metro学习笔记(缩略图)

Show.XAML

            <Viewbox x:Name="viewBox"   HorizontalAlignment="Left"  Width="1366" Margin="0,0,0,-52"  Grid.RowSpan="2" SizeChanged="viewBox_SizeChanged">
            <GridView x:Name="gvShow" BorderThickness="10" BorderBrush="Black" HorizontalAlignment="Left" Grid.Row="1"  Width="1366" Margin="0,5,0,0" Height="708" SelectionMode="None">
                <GridView.ItemTemplate>
                    <DataTemplate>
                        <Grid Tapped="Grid_Tapped_1"  >                        
                             <StackPanel>
                                <Image x:Name="imgSmall" Width="400"  HorizontalAlignment="Left" Grid.Row="1"  Source="{Binding ImageSmall}" Stretch="UniformToFill"/>
                            </StackPanel>
                           
                            <ScrollViewer x:Name="scrollViewer"  BorderThickness="0"   HorizontalAlignment="Center" ZoomMode="Enabled" MaxZoomFactor="20" HorizontalScrollMode="Enabled" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden">
                            <StackPanel>
                                <Image x:Name="imgBig" Visibility="Collapsed" HorizontalAlignment="Left" Grid.Row="1"  Source="{Binding ImageBig}" Stretch="UniformToFill"/>
                            </StackPanel>
                            </ScrollViewer>
                        </Grid>
                    </DataTemplate>
                </GridView.ItemTemplate>       
            </GridView>
        </Viewbox>
               
       

 

Show.XAML.CS

async private void Open()
        {
            ObservableCollection<ImageItem> imageItemListBig = new ObservableCollection<ImageItem>();
            ObservableCollection<ImageItem> imageItemListSmall = new ObservableCollection<ImageItem>();
            FileOpenPicker openPicker = new FileOpenPicker();
            openPicker.ViewMode = PickerViewMode.Thumbnail;
            openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
            openPicker.FileTypeFilter.Add(".jpg");
            openPicker.FileTypeFilter.Add(".gif");
            openPicker.FileTypeFilter.Add(".png");
            openPicker.FileTypeFilter.Add(".bmp");

            var fileList = await openPicker.PickMultipleFilesAsync();

            if (fileList.Count > 0)
            {
                foreach (var item in fileList)
                {
                   
                    //缩略图
                    using (StorageItemThumbnail thumbnail = await item.GetThumbnailAsync(ThumbnailMode.PicturesView, IMAGESIZE, ThumbnailOptions.ResizeThumbnail))
                    {
                        if (null != thumbnail)
                        {
                            ImageItem imageItemSmall = new ImageItem();
                            imageItemSmall.ImageSmall.SetSource(thumbnail);
                            imageItemListSmall.Add(imageItemSmall);
                        }
                    }                                     

                 }           
            }

              gvShow.ItemsSource = imageItemListSmall;
        }

 

ImageIteam.cs

public event PropertyChangedEventHandler PropertyChanged;

        protected virtual void OnPropertyChanged(string propertyName)
        {
            if (this.PropertyChanged != null)
            {
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

          

 //缩略图
        private BitmapImage _ImageSmall = new BitmapImage();
        public BitmapImage ImageSmall
        {
            get
            {
                return _ImageSmall;
            }
            set
            {
                if (_ImageSmall != value)
                {
                    _ImageSmall = value; this.OnPropertyChanged("ImageSmall");
                }
            }
        }

 

        //缩略图
        public void SetImageSmall(String path)
        {
            ImageSmall = new BitmapImage(new Uri(path));
        }

       

转载于:https://www.cnblogs.com/louyuhao/archive/2012/07/11/2586164.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值