2012-04-16 14 views
14

जब भी उपयोगकर्ता कुंजी संयोजन के माध्यम से कीबोर्ड लेआउट बदलता है तो निम्न प्रोग्राम पुन: उत्पन्न होता है। यदि ट्रे ऐपलेट के माध्यम से कीबोर्ड लेआउट बदल जाता है तो यह लॉक नहीं होता है। अंग्रेजी में लेआउट बदलते समय यह लॉक नहीं होता है। Task कभी निष्पादित नहीं होने पर यह लॉक नहीं होता है।कीबोर्ड लेआउट में बहुत सरल WPF प्रोग्राम लॉक अप (हैंग)

XAML:

<StackPanel> 
    <TextBox></TextBox> 
    <Button Click="Button_Click">Click me</Button> 
</StackPanel> 

सी #:

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    Task.Factory.StartNew(() => 
    { 
     var visual = new DrawingVisual(); 
     using (var context = visual.RenderOpen()) 
     { 
     } 
    }); 
} 

बटन पर क्लिक करने से पहले, मैं कीबोर्ड लेआउट के रूप में मैं खुश बदल सकते हैं। क्लिक करने के बाद प्रोग्राम लेआउट स्विच करने के पहले प्रयास पर लॉक हो जाता है।

महत्वपूर्ण बात, इस बग केवल तब होता है, तो लेआउट Alt + शिफ्ट + या Ctrl +शिफ्ट के माध्यम से बंद कर रहे हैं + (और , लेकिन नहीं)।

पृष्ठभूमि मार्गों पर DrawingVisual के उपयोग से बचने के लिए बहुत देर हो चुकी है। यह उत्पाद की एक अभिन्न, मूल विशेषता बन गया है। इस के आसपास काम करने के लिए कोई विचार बहुत स्वागत है।

यह बग .NET 4.0, Win7 32-bit और 64-बिट पर पुन: उत्पन्न होता है।

बाउंटी: इस बग प्रतिशत के संदर्भ में कुछ लोगों को प्रभावित करता है, लेकिन उन लोगों के लिए यह प्रभावित करता है लगातार (इसी डेटा हानि के साथ) लॉक-अप हर बार जब वे आदतन शॉर्टकट के माध्यम से कीबोर्ड लेआउट बदलने का कारण होगा। मुझे एक काम-आसपास चाहिए जो इस तथ्य को नहीं बदलेगा कि कुछ दृश्य अलग धागे पर प्रस्तुत किए जाते हैं।

+0

बस आपको यह बताने के लिए चाहते हैं कि मुझे यह समस्या .NET 4.0 पर नहीं मिली है। हालांकि, 4.5 पर इसका परीक्षण नहीं कर सका। –

+0

मेरे लिए वही है - यह नेट 4.0 पर ठीक काम करता है। मुझे लगता है कि आप इसे नेट 4.5 की एक बग के रूप में रिपोर्ट कर सकते हैं। यदि आप इसे क्लीन विंडोज़ इंस्टॉलेशन पर पुन: पेश कर सकते हैं। नेट 4.5 – Nikolay

+0

@ निकोलय किसी भी मौके पर आप अपने कीबोर्ड लेआउट को कॉन्फ़िगर करने का प्रयास कर सकते हैं जब आप 'Alt + Shift + 2' दबाते हैं ? मैंने इसे .NET 4 पर ऐसा करने में कामयाब रहा है। –

उत्तर

8

Official Microsoft answer:

यह समस्या कोई [टी] WPF की अगली फिल्म में संबोधित किया जाएगा। -WPF टीम।

मुझे लगता है कि वे WinRT के साथ बहुत व्यस्त हैं और डब्ल्यूपीएफ बैक बर्नर पर है।

+0

एक WPF प्रोग्राम में WM_INPUTLANGCHANGEREQUEST पोस्ट करने से इसे ठीक उसी तरह से लॉक कर दिया जाएगा, इस पर ध्यान दिए बिना कि किन चाबियों को ऐसा करने के लिए उपयोग किया जाता था। इसके अलावा, Win10 में, स्टार्ट मेनू खोज Alt + Shfit + 1/2 के जवाब में लॉक हो जाती है। –

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