मैं केवल उपयोगकर्ता इंटरैक्शन/चयन के लिए WPF DataGrid तत्व में SelectionChanged ईवेंट को संभालना चाहता हूं और बाध्यकारी या अन्य सेट मानों के कारण छोड़ सकता हूं। कोई विचार है कि मैं कैसे निर्धारित करूंगा कि चयन उपयोगकर्ता परिवर्तन से बदल गया है या नहीं? या कोई वैकल्पिक घटना जो समान कार्य करेगी?क्या WPF में चयन चेंज किया गया ईवेंट केवल उपयोगकर्ता इंटरैक्शन के लिए संभाला जा सकता है?
उत्तर
शायद ईवेंट PreviewMouseDown
ईवेंट के साथ गठबंधन करने का प्रयास करें। जब उपयोगकर्ता एक पंक्ति पर क्लिक करता है तो आप कुछ संपत्ति सेट करते हैं और SelectionChanged
ईवेंट हैंडलर चेक में संपत्ति की तुलना में चेक किया गया था।
नमूना कोड XAML:
<DataGrid SelectionChanged="OnSelectionChanged" PreviewMouseDown="OnPreviewMouseDown">
<!--some code-->
</DataGrid>
कोड के पीछे:
bool isUserInteraction;
private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (isUserInteraction)
{
//some code
isUserInteraction = false;
}
}
private void OnPreviewMouseDown(object sender, MouseButtonEventArgs e)
{
isUserInteraction = true;
}
धन्यवाद राफल, उस चाल ने मदद की। धन्यवाद! –
क्या कोई कारण बता सकता है, इसे अलग घटना के रूप में क्यों लागू नहीं किया गया है ...? एमवीवीएम-पैटर्न का उपयोग करके परिवर्तन हमेशा डेटाकॉन्टेक्स्ट को सेट करने पर भी आग लग जाता है ....:/+1 इस चाल के लिए राफल ':) – dba
मुझे लगता है कि यह कई मामलों में विफल हो जाएगा: (1) यदि उपयोगकर्ता किसी तरीके से क्लिक करता है जिसके परिणामस्वरूप चयन परिवर्तन नहीं हुआ (उदाहरण के लिए पहले से चुनी गई पंक्ति पर क्लिक करना, या संशोधक का उपयोग करना, या विभिन्न माउस बटन), फिर चयन बाध्यकारी के कारण बदलता है, बाध्यकारी उपयोगकर्ता क्रिया के रूप में देखा जाएगा। (2) यदि उपयोगकर्ता चयन बदलने के लिए कीबोर्ड का उपयोग करता है, तो उसे उपयोगकर्ता कार्रवाई के रूप में नहीं देखा जाएगा। – hypehuman
हाय आप इस XAML में उपयोग कर सकते हैं:
<ComboBox x:Name="ComboBoxName" SelectionChanged="ComboBox_SelectionChanged">
<ComboBox.Style>
<Style TargetType="ComboBox">
<Style.Triggers>
<Trigger Property="IsDropDownOpen" Value="True">
<Setter Property="IsEditable" Value="True"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
और पीछे कोड में:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (!((ComboBox)sender).IsEditable) return;
//Do Stuff;
}
कॉम्बोबॉक्स की DropDownOpened
और DropDownClosed
ईवेंट को संभालने का एक और तरीका होगा। यह राफल के स्वीकृत उत्तर से थोड़ा बेहतर है क्योंकि यह बूलियन झंडा को सच में फंसने से रोकता है अगर उपयोगकर्ता कॉम्बोबॉक्स पर क्लिक करता है और उसके बाद कॉम्बोबॉक्स को चयन किए बिना बंद करने के लिए कहीं और क्लिक किया जाता है। यह हल नहीं करता है, हालांकि, यदि कॉम्बोबॉक्स में कीबोर्ड फोकस है और उपयोगकर्ता चयन को बदलने के लिए ऊपर और नीचे तीरों को टैप करता है।
private void Event_ComboBox_DropDownOpened(object sender, EventArgs e)
{
isUserInteraction = true;
}
private void Event_ComboBox_DropDownClosed(object sender, EventArgs e)
{
isUserInteraction = false;
}
private void Event_ComboBox_SelectedChanged(object sender, SelectionChangedEventArgs e)
{
if (isUserInteraction)
{
// Do work
}
}
- 1. उपयोगकर्ता इंटरैक्शन केवल
- 2. Windows.Forms.TreeView के लिए कोई चयनित नोड चेंज किया गया ईवेंट क्यों नहीं है?
- 3. jquery .live() ईवेंट इंटरैक्शन
- 4. उपयोगकर्ता इंटरैक्शन
- 5. सभी का चयन करने के लिए ईवेंट: WPF डेटाग्रिड
- 6. क्या टेक्स्टबॉक्स चयन एक अलग फ़ॉन्ट रंग के साथ स्टाइल किया जा सकता है?
- 7. ऑन कॉन्फ़िगरेशन चेंज को एक बार सेट नहीं किया गया है, अनुरोध किया गया है कॉन्फ़िगरेशन
- 8. Cpython में क्या किया जा सकता है जो IronPython में नहीं किया जा सकता है?
- 9. क्या WPF विषयों का उपयोग किसी अनुप्रयोग के लिए एकाधिक स्किन्स को शामिल करने के लिए किया जा सकता है जिसे रनटाइम पर बदला जा सकता है?
- 10. ऑन चेंज फ़ंक्शन को परिभाषित नहीं किया गया है
- 11. क्या ओएलएपी बिगटेबल में किया जा सकता है?
- 12. क्या MySQL सामान्य क्वेरी लॉग केवल एक डेटाबेस के लिए चालू किया जा सकता है?
- 13. कोई उपयोगकर्ता ऑब्जेक्ट के बिना चयन ऑब्जेक्ट बनाया जा सकता है?
- 14. क्या एक बंडल सेवा में पास किया जा सकता है?
- 15. Winforms में WPF ईवेंट
- 16. तत्काल क्या किया जा सकता है?
- 17. क्या रेस्पर्पर को चेतावनी देने के लिए सेट किया जा सकता है अगर IDISposable सही ढंग से संभाला नहीं गया है?
- 18. उपयोगकर्ता इंटरैक्शन कभी-कभी UIWebView
- 19. jQuery - एचटीएमएल चयन विकल्प का चयन करने के लिए इवेंट हैंडलर का चयन किया गया है
- 20. badoo.com उपयोगकर्ता खोज - यह कैसे किया जा सकता है?
- 21. क्या UILongPressGestureRecognizer स्पर्श स्पर्श ईवेंट जैसे स्पर्शों के साथ उपयोग किया जा सकता है?
- 22. मैं उपयोगकर्ता नियंत्रण में कोई ईवेंट कैसे कर सकता हूं और इसे मुख्य फ़ॉर्म में संभाला है?
- 23. क्या जेएफआरएएम को सामने लाया जा सकता है लेकिन ध्यान केंद्रित नहीं किया जा सकता है?
- 24. क्या आईओएस में एक घड़ी है जिसका प्रयोग किया जा सकता है जिसे उपयोगकर्ता
- 25. क्या एक wpf एप्लिकेशन xaml संकलित किए बिना तैनात किया जा सकता है?
- 26. क्या अमेज़ॅन आईएएम मेजबानों के लिए प्रमाणीकरण विधि के रूप में उपयोग किया जा सकता है?
- 27. क्या पाइथन में लिखा गया एक प्रोग्राम ऐप्पलस्क्रिप्ट किया जा सकता है?
- 28. गतिशील रूप से लोड किया जा सकता है जावास्क्रिप्ट अनलोड किया जा सकता है?
- 29. यह निर्धारित करने के लिए कि क्या .NET अपवाद संभाला जा रहा है या नहीं?
- 30. क्या पीडीएफ को वेक्टर छवि प्रारूप में परिवर्तित किया जा सकता है जिसे .NET से मुद्रित किया जा सकता है?
क्या आप कुछ नमूना कोड दिखा सकते हैं जो आप प्राप्त करने की कोशिश कर रहे हैं? –