2012-03-13 16 views
16

WPF में मेरा Label.Content "_" वर्ण की पहली घटना प्रदर्शित नहीं करता है। क्यूं कर?लेबल "_" वर्ण प्रदर्शित नहीं करता है

<Window x:Class="WpfApplication3.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="148" Width="211"> 
    <Grid> 
     <Label Content="L_abel" Height="28" HorizontalAlignment="Left" Margin="37,31,0,0" Name="label1" VerticalAlignment="Top" /> 
    </Grid> 
</Window> 

enter image description here

Label.Content ="L__abel" सेट करते हैं:

enter image description here

वहाँ परियोजना में कोई अतिरिक्त कोड है।

+8

@ H.B करने के लिए।- एक सहायक टिप्पणी नहीं है। अगर कोई एमएसडीएन दस्तावेज के भीतर किसी भी चीज के बारे में नहीं पूछ सकता है, तो स्टैक ओवरफ्लो पर बहुत कम प्रश्न होंगे। यदि आपके पास कोई जवाब नहीं है, तो पोस्ट न करें, इतना आसान। – Danielson

+7

मैं असहमत हूं। मैं पूरे दस्तावेज को नहीं पढ़ता क्योंकि यह बहुत भारी है और सभी प्रासंगिक नहीं है। मुझे स्टैक ओवरफ़्लो को देखकर मुझे आवश्यक प्रासंगिक जानकारी मिल सकती है। मुझे खुशी है कि यह पोस्ट यहां है और खुशी है कि जवाब भी है। – Danielson

उत्तर

28

_ किसी पहुंच कुंजी संकेत करने के लिए WPF में प्रयोग किया जाता है, यानि कि एक महत्वपूर्ण आप Alt साथ दबा सकते हैं फोकस दे या एक यूआई तत्व आह्वान करने के लिए। यह विंडोज एपीआई और विंडोज फॉर्म में & का उपयोग कैसे किया जाता है। चूंकि लेबल दूसरे नियंत्रण के लिए लेबल के रूप में उपयोग किए जाने का इरादा रखते हैं (उदाहरण के लिए, टेक्स्ट बॉक्स का वर्णन करने के लिए), यह बहुत अधिक उम्मीद है। जब आप Alt प्रेस अपने उदाहरण में a रेखांकित देखना चाहिए।

documentation से:

, एक्सेस कुंजी सेट करने के लिए चरित्र कि पहुँच कुंजी होना चाहिए से पहले एक अंडरस्कोर जोड़ें। यदि आपकी सामग्री में एकाधिक अंडरस्कोर वर्ण हैं, तो केवल पहले को एक्सेस कुंजी में परिवर्तित किया जाता है; अन्य अंडरस्कोर सामान्य पाठ के रूप में दिखाई देते हैं। यदि अंडरस्कोर जिसे आप एक्सेस कुंजी में कनवर्ट करना चाहते हैं तो पहले अंडरस्कोर नहीं है, किसी भी अंडरस्कोर के लिए लगातार दो अंडरस्कोर का उपयोग करें, जिसे आप कनवर्ट करना चाहते हैं। क्योंकि अंडरस्कोर कि एच के पहले आता है एक डबल, डब्ल्यू कुंजी का उपयोग कुंजी के रूप में रजिस्टर है

<Label>__Hello_World</Label> 

: उदाहरण के लिए, निम्नलिखित कोड किसी पहुंच कुंजी और _HelloWorld के रूप में प्रदर्शन शामिल हैं।

मुझे लगता है कि अगर आप न की आवश्यकता होती है और न ही चाहते सुविधाओं Label प्रदान करता है, तो आप एक TextBlock उपयोग कर सकते हैं।

+2

तो, "_" वाली सामग्री को गतिशील रूप से प्रदर्शित करने के लिए कैसे करें? – HelloWorld

+0

इसे उस नियंत्रण में न रखें जिसमें टेक्स्ट प्रदर्शित करने के अलावा अन्य उपयोग भी हैं। या मेटा-अक्षर से बचें। – Joey

3

क्योंकि _ पत्र शॉर्टकट के लिए प्रयोग किया जाता है (एक त्वरक है)

7

जॉय सही है!

<TextBlock>L_abel</TextBlock> 

और अपने सभी अंडरस्कोर प्रदर्शित किया जाएगा का उपयोग करें!

1

डब्ल्यूपीएफ में नामक एक विशेषता है पहचान AccessKey, इसे गलत में बदलने का प्रयास करें। यदि आप रेडियोबटन का उपयोग करते हैं तो जागरूक रहें कि पीछे की ओर लेबल भी है, और रेडियोबटन टेम्पलेट में एक्सेस कुंजी पहचान अक्षम करने के लिए आपको टेम्पलेट ContentPresenter पर सेट करना होगा। फिर यह अक्षम है, या लेबल को किसी अन्य चीज़ के साथ बदल दिया गया है जिसे मुझे अभी याद नहीं है।

0

सबसे आसान तरीका तय करने के लिए यह होगा:

बदलें

<Label Content="L_abel" Height="28" HorizontalAlignment="Left" Margin="37,31,0,0" Name="label1" VerticalAlignment="Top" /> 

<Label Height="28" HorizontalAlignment="Left" Margin="37,31,0,0" Name="label1" VerticalAlignment="Top"> 
<TextBlock Text="L_abel"/> 
</Label> 
संबंधित मुद्दे