मैंने परीक्षण नहीं किया, लेकिन मुझे पूरा यकीन है कि यदि आप कुंजीपटल तीर (ग्रिड स्प्लिटर पर ध्यान देकर) पंक्तियों/स्तंभों का उपयोग कर रहे हैं तो वर्तमान में स्वीकार्य उत्तर AresAvatar से काम नहीं करेगा। यह एक दुर्लभ लेकिन संभावित मामला है जिसे आपको अपने आवेदन में अनुमान लगाना चाहिए।
जब ग्रिड स्प्लिटर ले जाया जाता है (या तो ड्रैग एंड ड्रॉप या कीबोर्ड तीरों का उपयोग करके), यह ग्रिड के ColumnDefinition
/RowDefinition
की Width
/Height
निर्भरता गुण बदल जाता है।
var heightDescriptor = DependencyPropertyDescriptor.FromProperty(RowDefinition.HeightProperty, typeof(ItemsControl));
heightDescriptor.AddValueChanged(myGrid.RowDefinition[0], HeightChanged);
(ग्रिड की पहली पंक्ति में उदाहरण ट्रैक आकार बदलाव के लिए यह स्निपेट इच्छा): आप आसानी से इस संपत्ति परिवर्तन पर कोई हैंडलर रजिस्टर कर सकते हैं।
फिर आप एक हैंडलर में आकार बदल सकते हैं जो हर मामले में काम करेगा।
private void HeightChanged(object sender, EventArgs e)
{
// TODO: handle row resize
}
आम तौर पर, यह वास्तव में, उपयोगकर्ता इनपुट कार्रवाई (माउस खींचने, कीबोर्ड आदानों ...) एक तार्किक या दृश्य कार्यों/घटनाओं को संभालने के लिए पर भरोसा करने की सलाह नहीं दी जाती क्योंकि वहाँ लगभग हमेशा कई करने के लिए तरीके हैं विभिन्न इनपुट (माउस, कीबोर्ड, टचस्क्रीन, आसानी से उपयोग उपकरण ...) का उपयोग कर एक ही क्रियाएं।
यदि आप कीबोर्ड के बारे में चिंता न करें, तो भी इसे पढ़ें, क्योंकि यह गलत घटना को संभालने के लिए एक सामान्य डिज़ाइन त्रुटि है (कार्रवाई के सामान्य परिणाम की बजाय इनपुट कार्रवाई में से एक) – Benlitz
फिर विस्तृत करें :) I मैं उत्सुक हूं कि आप एक प्रकार की उपयोगकर्ता कार्रवाई के आधार पर एक गैर-विस्तारणीय विधि का पक्ष क्यों लेंगे, पर्याप्त संपत्ति परिवर्तन को संभालने पर, जबकि दोनों के पास कार्यान्वयन की एक ही लागत है। मान लीजिए कि इसे लागू करने के बाद, आपको एक बटन जोड़ने के लिए कहा जाता है जो डिफ़ॉल्ट पंक्ति आकार को पुनर्स्थापित करता है। प्रोग्राम को आकार में बदलना नहीं होगा। यही कारण है कि मेरा मानना है कि यह दृष्टिकोण अच्छा नहीं है; यह आसानी से आपके यूआई में दुष्कर्मों को पेश कर सकता है। यदि आप पंक्ति आकार परिवर्तन के हैंडलर में जो ऑपरेशन करते हैं, वह स्पष्ट रूप से दिखाई नहीं देता है, तो हो सकता है कि आप सप्ताहों के लिए समस्या भी न देखें। – Benlitz
उदाहरण के तौर पर, एक आकार के बजाय अंगूठे ड्रैगडेल्टा पर प्रतिक्रिया करना बहुत अलग एनीमेशन प्रभाव होता है - स्नूप के साथ जांचें और भिन्न संदेश देखें और वे कितने बारीक हैं। अंत में, जब तक कि कीबोर्ड को ग्रिडस्प्लिटर (फोकस करने योग्य = झूठा) का आकार बदलने के लिए उपयोग नहीं किया जा सकता है, वैसे भी यह एक महत्वपूर्ण बिंदु है। –