WPF

2009-05-07 7 views
18

में सभी इनपुट स्वचालित रूप से कैपिटल करें क्या एक WPF ऐप के सभी इनपुट विचारों को स्वचालित रूप से कैपिटल करने का कोई तरीका है?WPF

उत्तर

57

आप नीचे दिए गए संपत्ति के साथ TextBox नियंत्रण में सभी इनपुट केस कर सकते हैं:

CharacterCasing="Upper" 

पूरा आवेदन में सभी TextBox नियंत्रण के लिए लागू करने के लिए सभी TextBox नियंत्रण के लिए एक शैली बनाने:

<Style TargetType="{x:Type TextBox}"> 
    <Setter Property="CharacterCasing" Value="Upper"/> 
</Style> 
+0

मैं जानता हूँ कि यह सभी इनपुट आवरण का समाधान नहीं करता है, लेकिन सबसे पाठ इनपुट पाठ बॉक्स नियंत्रण के माध्यम से में आएगा। –

+1

वाह। मुझे लगता है कि मैं डब्ल्यूपीएफ के बारे में कुछ भी नहीं जानता ... धन्यवाद !!! –

+1

मेरा मानना ​​है कि यह बजाय "डेटाप्रकार" के "TargetType" है: <शैली TargetType = "{x: प्रकार पाठ बॉक्स}"> <सेटर संपत्ति = "CharacterCasing" मान = "ऊपरी" /> – Wes

1

मैं कस्टम टेक्स्टबॉक्स क्लास बनाने की सलाह दें और टेक्स्ट को स्वचालित रूप से कैपिटल करने के लिए किसी ईवेंट को ओवरराइड करें। सबसे पहले, यह इस बात पर निर्भर करता है कि क्या आप पाठ को पूंजीकृत करना चाहते हैं क्योंकि वे टाइप करते हैं या इनपुट समाप्त होने के बाद।

उदा। इनपुट के बाद

public class AutoCapizalizeTextBox: TextBox 
{ 
    public AutoCapitalizeTextBox() 
    { 
    } 

    public AutoCapitlizeTextBox() 
    { 
    } 

    protected override void OnLostFocus(EventArgs e) 
    { 
    this.Text = this.Text.ToUpper(); 

    base.OnLostFocus(e); 
    } 
}