ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Metro学习笔记(缩略图)

2019-07-03 14:48:23  阅读:271  来源: 互联网

标签:ObservableCollection Metro ImageSmall 缩略图 笔记 Add openPicker new FileTypeFilter


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

标签:ObservableCollection,Metro,ImageSmall,缩略图,笔记,Add,openPicker,new,FileTypeFilter
来源: https://blog.csdn.net/weixin_34060299/article/details/94562131

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有