में एक्सटेंशन छुपाएं मैं अपने .NET 4 WPF अनुप्रयोग में WPF OpenFileDialog और SaveFileDialog का उपयोग कर रहा हूं। मैं फ़िल्टर प्रॉपर्टी का उपयोग उपयोगकर्ता को अलग-अलग फ़ाइल फ़िल्टर सेट करने की अनुमति देता हूं। .NET 4 में, यह Windows Vista (यदि संभव हो) के साथ प्रस्तुत मूल फ़ाइल संवाद का उपयोग करता है।Vista/Windows 7 WPF FileDialog.Filter
हालांकि, ये संवाद एक्सटेंशन फ़िल्टर दिखाते हैं जो फ़ाइल फ़िल्टर बनाते हैं। चूंकि इनमें से कुछ एक्सटेंशन का थोड़ा सा उपयोग करते हैं, यह काफी बदसूरत है।
उदाहरण के लिए, मेरे पास फ़िल्टर Image files|*.bmp;*.dib;*.jpg;*.jpeg;*.jpe;*.jfif;*.gif;*.tif;*.tiff;*.png;*.ico|All files|*.*
है, जो संवाद में Image files (*.bmp;*.dib;*.jpg;*.jpeg;*.jpe;*.jfif;*.gif;*.tif;*.tiff;*.png;*.ico)
के रूप में प्रदर्शित होता है। कोष्ठक में सबकुछ स्वचालित रूप से जोड़ा जाता है, यानी फ़िल्टर स्ट्रिंग के अनुसार, इसे Image files
प्रदर्शित करना चाहिए। लेकिन कहीं भी कोष्ठक में सामान जोड़ा जाता है। मैंने रिफ्लेक्टर के साथ कोड को देखने की कोशिश की ताकि यह देखने के लिए कि यह कहीं किया गया है, लेकिन जल्दी से छोड़ दिया गया है क्योंकि यह काफी संकलित है।
पेंट शुरू करना, उदाहरण के लिए, मैं देख सकता हूं कि इन फ़ाइल संवादों को ब्रांड्स में सामान के बिना उपयोग करना संभव है, यानी यह Image files
दिखाता है।
क्या कोई इस "फीचर" के लिए कामकाज जानता है?
मैं व्यवहार जहां फिल्टर तत्वों स्वचालित रूप से जुड़ जाते हैं कभी नहीं देखा। आप OpenFileDialog का पूरा नामस्थान क्या उपयोग कर रहे हैं? –
lol ने इसे विंडोज 7 पर वीएस 2010 में अभी कोशिश की और अब मुझे वही मिल गया है ... –
मैं माइक्रोसॉफ्ट.Win32.OpenFileFilter का उपयोग कर रहा हूँ। स्वचालित रूप से कोई फ़िल्टर तत्व नहीं जोड़े गए हैं। इसके बजाय, कोष्ठक में सामान स्वचालित रूप से जोड़ा जाता है। –