पर छवि खींचें और छोड़ें मैं अपने WPF एप्लिकेशन में कार्यक्षमता को कार्यान्वित करने की कोशिश कर रहा हूं ताकि ब्राउज़र से एक छवि खींच सकें और मेरे WPF ऐप में एक विंडो में खींच सकें।ब्राउज़र से WPF एप्लिकेशन
कोड फ़ायरफ़ॉक्स और विंडोज एक्सप्लोरर के साथ ठीक काम करता है, लेकिन क्रोम और आईई के साथ समस्याएं उत्पन्न होती हैं (अभी तक किसी अन्य ब्राउज़र की कोशिश नहीं की गई है)।
कोड स्निपेट है:
private void Drag_Enter(object sender, DragEventArgs e)
{
foreach (string format in e.Data.GetFormats())
Console.WriteLine(format);
Console.WriteLine("Effects:" + e.AllowedEffects);
}
private void Drag_Drop(object sender, DragEventArgs e)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
ImageSourceConverter converter = new ImageSourceConverter();
foreach (string file in files)
{
if (converter.IsValid(file))
{
// Do something with the image
}
}
}
उत्पादन को देखते हुए, ऐसा लगता है कि वास्तव में फ़ायरफ़ॉक्स क्लिपबोर्ड करने के लिए छवि बचाता है, जबकि क्रोम बस, छवि के HTML हथियाने है, जबकि आईई नहीं करता है इसके साथ कुछ भी।
किसी के पास कुछ अंतर्दृष्टि है कि मुझे क्रॉस-ब्राउज़र कार्यक्षमता कैसे मिल सकती है?
अद्यतन: मैंने पाया समाधान के एक जोड़े को एक छवि स्रोत के लिए एचटीएमएल (क्रोम/फ़ायरफ़ॉक्स) पार्स करने के लिए है, तो स्रोत WebClient वस्तु की तरह कुछ का उपयोग करने से डाउनलोड कर रहे हैं। एक विधि पसंद करेंगे, हालांकि, फ़ाइल प्रकार के लिए मजबूत जांच है।
आईई 9 और फ़ायरफ़ॉक्स दोनों में एक डिवाइस-निर्भरता बिटमैप फ़ाइल प्रारूप है जो एक गैर-हाइपरलिंक छवि खींचते समय उपलब्ध है। यह एक सुरक्षित विकल्प प्रतीत होता है, हालांकि क्रोम इसका समर्थन नहीं करता है। यह हाइपरलिंक छवियों के साथ भी इतना उपयोगी नहीं है।
फ़ायरफ़ॉक्स के साथ, निर्गम (Drag_Enter किसी कारण से दो बार निकाल दिया जाता है): फिर
DragContext
DragImageBits
FileGroupDescriptorW
FileContents
HTML Format
text/html
text/x-moz-url
UniformResourceLocatorW
UniformResourceLocator
Text
UnicodeText
System.String
Effects: Copy, Move, Link
इंटरनेट एक्सप्लोरर (:
text/x-moz-url
FileGroupDescriptor
FileGroupDescriptorW
FileContents
UniformResourceLocator
UniformResourceLocatorW
text/x-moz-url-data
text/x-moz-url-desc
text/uri-list
text/_moz_htmlcontext
text/_moz_htmlinfo
text/html
HTML Format
Text
UnicodeText
System.String
application/x-moz-nativeimage
DeviceIndependentBitmap
FileDrop
FileNameW
FileName
Preferred DropEffect
application/x-moz-file-promise-url
application/x-moz-file-promise-dest-filename
DragImageBits
DragContext
Effects: Link, All
क्रोम (drag_enter भी दो बार निकाल दिया जाता) , drag_enter दो बार निकाल दिया गया):
UntrustedDragDrop
msSourceUrl
FileGroupDescriptor
FileGroupDescriptorW
FileContents
UniformResourceLocator
Effects: Link