private static void SetImgSource(DependencyObject d, DependencyPropertyChangedEventArgs e) { PictureCard pictureCard = d as PictureCard; //Config config = Config.Load(); try { BitmapImage bitmapImage = new BitmapImage(); bitmapImage.BeginInit(); Uri uri= new Uri(e.NewValue as string); bool isFloder = !uri.Segments.Last().Contains("."); //bool isFloder = Regex.IsMatch(uri.OriginalString, config.RegexStr); if (isFloder) { bitmapImage.UriSource = new Uri(Directory.GetCurrentDirectory() + "\\img\\floder.png"); } else bitmapImage.UriSource = uri; bitmapImage.DecodePixelWidth = 400; bitmapImage.EndInit(); //bitmapImage.Freeze(); pictureCard.ImgPath = e.NewValue as string; defaultW = bitmapImage.Width; defaultH = bitmapImage.Height; pictureCard.Image_Main.Source = bitmapImage; if (!isFloder) pictureCard.TextBlock_TipName.Visibility = Visibility.Collapsed; else { pictureCard.TextBlock_TipName.Visibility = Visibility.Visible; pictureCard.TextBlock_TipName.Text = System.Web.HttpUtility.UrlDecode(uri.Segments.Last().ToUpper(), Encoding.UTF8); } } catch(Exception) { } }
private void WhenMainButtonClick(PictureCard pictureCard) { OnMainButtonClick?.Invoke(pictureCard); }
private void WhenDelClick(PictureCard pictureCard) { OnDelClick?.Invoke(pictureCard); }
private void WhenBrowerClick(PictureCard pictureCard) { OnBrowerClick?.Invoke(pictureCard); }
private static void SetImgWidth(DependencyObject d, DependencyPropertyChangedEventArgs e) { PictureCard pictureCard = d as PictureCard; pictureCard.Image_Main.Width = (double)e.NewValue; }