2012-12-21 13 views
10

डब्ल्यूपीएफ 4.0 डेटाग्रिड्स में एक बग प्रतीत होता है।डब्ल्यूपीएफ डेटाग्रिड पंक्ति सत्यापन

मैं अपनी वस्तुओं पर IDataErrorInfo लागू कर रहा हूं, और मेरे पास ObservableCollection है जो एक डाटाग्रिड बांधता है। मेरे पास ValidatesOnDataErrors=True कॉलम पर सेट है लेकिन पंक्तियों पर कुछ भी सेट नहीं है। मेरे पास UpdateSourceTrigger="PropertyChanged"

सत्यापन सेल स्तर से सेल पर पूरी तरह से काम करता है। हालांकि, जब आप किसी सेल को अमान्य छोड़ देते हैं, तो किसी अन्य सेल पर जाएं और फिर अमान्य सेल पर वापस आएं और वैध डेटा में प्रवेश करें, सेल मान्य हो जाता है लेकिन जब यह मान्य होना चाहिए तो पंक्ति अमान्य रहती है।

+0

मुझे एक ही समस्या है! – Reilly

+0

"हालांकि, जब आप किसी सेल को अमान्य छोड़ते हैं, तो किसी अन्य सेल पर जाएं और फिर अमान्य सेल पर वापस आएं और एक मान्य डेटा दर्ज करें, सेल मान्य हो जाता है लेकिन जब यह मान्य होना चाहिए तो पंक्ति अमान्य रहती है।" बिल्कुल वही समस्या है। – SKINDER

+1

वृक्ष लोग, वही wpf मुद्दा और अभी तक कोई भी पोस्ट कोड नहीं है। वैसे भी एक फिल्म के लिए यह बुरा शीर्षक होगा। : डी क्या आप में से कोई भी कुछ कोड या xaml पोस्ट करने के लिए सोचा है? –

उत्तर

2

सामान्य संपत्ति सत्यापन में, स्रोत अपडेट होने के बाद इसे सत्यापित किया जाएगा, लेकिन RowValidation के मामले में आपको RowValidation करने के लिए RowValidationRule निर्दिष्ट करना होगा।

<DataGrid.RowValidationRules> 
     <DataErrorValidationRule ValidatesOnTargetUpdated="True" ValidationStep="UpdatedValue" /> 
</DataGrid.RowValidationRules> 

अब DataGrid पंक्तियाँ के लिए मान्य करता भी आप RowValidationErrorTemplate प्रदान कर सकते हैं कस्टम प्रारूप में त्रुटि को दिखाने के लिए होगा।

0

एक ही समस्या थी। मेरे लिए फिक्स प्रमाणीकरण नियम पर ValidatesOnTargetUpdated="True" सेट कर रहा था, जो हर बार नियंत्रण अपडेट होने पर एक और सत्यापन को मजबूर करता है।

संबंधित मुद्दे