2010-03-11 14 views
28

मैं WPF कैलेंडर है कि WPF टूलकिट का हिस्सा है उपयोग कर रहा हूँ प्राप्त करने के लिए दो क्लिक लेता है।WPF टूलकिट कैलेंडर ध्यान केंद्रित

मैं एक नियंत्रण पर दो अलग-अलग कैलेंडर नहीं है। जब मैं एक कैलेंडर से दिनांक चुनने का प्रयास करता हूं और फिर दूसरे कैलेंडर से, मुझे दिनांक चुनने के लिए दो बार दूसरे कैलेंडर पर क्लिक करना पड़ता है।

किसी और को इस मुद्दे था और एक समाधान के बारे में पता है?

+0

हम्म मैं कैलेंडर भी अजीब तरह से बर्ताव कर देखा कभी नहीं, लेकिन मैं इसे बहुत ज्यादा इस्तेमाल नहीं किया है, और आप के रूप में एक ही स्थिति में संभवतः नहीं: एक बेहतर समाधान यह है। उस ने कहा, डब्ल्यूपीएफ टूलकिट नियंत्रण वास्तव में सही नहीं हैं, इसलिए यह मुद्दा पूरी तरह से विश्वसनीय है। –

+6

एफवाईआई, मैं भी .NET Framework 4.0 – Luke

उत्तर

34

कैलेंडर (जैसे CalendarMode को ड्रिल-डाउन) तिथि परिवर्तन के बिना माउस पर कब्जा कर सकते हैं। ,

protected override void OnPreviewMouseUp(MouseButtonEventArgs e) 
{ 
    base.OnPreviewMouseUp(e); 
    if (Mouse.Captured is CalendarItem) 
    { 
     Mouse.Capture(null); 
    } 
} 
+1

की वर्तमान अंतिम रिलीज के माध्यम से जारी रहा है यह एक बेहतर फिक्स है। मैं इसे .... – timothymcgrath

+0

यह मेरे लिए एक समस्या ठीक कर जहां चयनित समय अवधि के जब एक और नियंत्रण घटना माउस तक प्राप्त खो गया था की तरह। – mjcopple

+1

मैं इस कोड की विस्तारित संस्करण की सलाह देते http://stackoverflow.com/questions/5543119/wpf-button-takes-two-clicks-to-fire-click-event –

4

मैं जब कैलेंडर के SelectedDates बदलते इस कोड को जोड़ा गया है और यह समस्या का समाधान हो।

 Private Sub Calendar_SelectedDatesChanged(ByVal sender As Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs) Handles Me.SelectedDatesChanged 
     Me.DisplayDate = CType(Me.SelectedDate, DateTime) 

     ' This is to prevent the Calendar DayButtons from holding the focus in the Calendar. 
     Me.CaptureMouse() 
     Me.ReleaseMouseCapture() 
    End Sub 
+0

के भीतर WPF कैलेंडर के साथ इस समस्या का सामना कर रहा हूं। Me.DisplayDate लाइन केवल चयनित दिनांक में दृश्य को स्थानांतरित करने के लिए है, यह ठीक करने के लिए आवश्यक नहीं है। – timothymcgrath

+0

मेरे लिए यह काम, आपके समाधान के लिए धन्यवाद। (सी #) – Jirapong

+0

धन्यवाद! .NET Framework 4.0 कैलेंडर नियंत्रण का उपयोग करते समय यह मेरे लिए समस्या को हल करता है। ऐसा लगता है कि बग .NET 4.0 – Luke

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