public itemElement(ListBox IC, List <object> OLD_IData, transfareData IDataTranfare) { this.IC = IC; this.OLD_IData = OLD_IData; this.IDataTranfare = IDataTranfare; this.Foreground = new SolidColorBrush(Colors.Black); this.Content = this.IDataTranfare.contentValue; solid = this.Foreground; this.MouseDoubleClick += ItemElement_MouseDoubleClick; }
private void Timer_Elapsed(object sender, ElapsedEventArgs e) { Dispatcher.BeginInvoke((Action)(() => { //foreach (FieldInfo type in typeof(DataFormats).GetFields()) //{ // if (Clipboard.GetDataObject().GetDataPresent(type.GetValue("") as string)) // { // Console.WriteLine(type.GetValue("") as string); // } //} try { transfareData IDataTranfare = new transfareData(); foreach (string _supported in supportedFormats) { if (!Clipboard.GetDataObject().GetDataPresent(_supported)) { continue; } if (_supported == DataFormats.Bitmap) { Image image = new Image(); System.Windows.Interop.InteropBitmap interopBitmap = (System.Windows.Interop.InteropBitmap)Clipboard.GetImage(); image.Source = interopBitmap; IDataTranfare.copyValue = image; BitmapFrame interopBitmap1 = CreateResizedImage(interopBitmap, Math.Min(interopBitmap.PixelWidth, 100), Math.Min(interopBitmap.PixelHeight, 100), 0); Image image2 = new Image(); image2.Source = interopBitmap1; IDataTranfare.contentValue = image2; Int32Rect rect = new Int32Rect(0, 0, interopBitmap1.PixelWidth, interopBitmap1.PixelHeight); int stride = interopBitmap1.PixelWidth * (interopBitmap1.Format.BitsPerPixel + 7) / 8; int arrayLength = stride * interopBitmap1.PixelHeight; int[] arr = new int[arrayLength]; interopBitmap1.CopyPixels(rect, arr, stride, 0); unchecked { int sum = 0; for (int i = 0; i < arr.Length; i++) { sum += arr[i]; } IDataTranfare.savedValue = sum / arr.Length; } } else if (_supported == DataFormats.Text) { IDataTranfare.copyValue = Clipboard.GetText().Replace("\n", "").Replace("\r", ""); IDataTranfare.savedValue = IDataTranfare.copyValue; IDataTranfare.contentValue = IDataTranfare.copyValue; } IDataTranfare.format = _supported; break; } if (OLD_IData.Contains(IDataTranfare.savedValue) || IDataTranfare.format == null) { return; } OLD_IData.Add(IDataTranfare.savedValue); ListBOX.Items.Insert(0, new itemElement(ListBOX, OLD_IData, IDataTranfare)); } catch (Exception err) { Console.WriteLine(err); } })); }