2011-10-22 59 views
21

一個很簡單的問題:無法看到下劃線(_)在WPF內容

爲什麼我不能看到_(下劃線)在WPF內容?

例如(未示出以下劃線)的的

<Label Content="test_t" Name="label2" /> 

內容被示出爲"testt"

+0

做你試圖逃跑呢? '__'或'\ _'(只是猜測與第二個建議) –

+0

嗨,我想知道它的原因,作爲我的朋友從stackoverflow說,它像在Windows窗體中。謝謝。 – AliRezza

回答

8

這是因爲Label支持基於其內容定義助記符,這是通過在助記符前面加下劃線(與Windows窗體中發生的事件相同,用&)來完成的。

如果你想有一個字面一個出現使用雙下劃線:

<Label Content="test__t" Name="label2" /> 
3

我知道IM遲到了,但我相信,如果你沒有比你應該關聯到一個文本框的標籤改用TextBlock。

改變你的控制給TextBlock解決,因爲只有標籤這個問題有助記符支持

0

這種風格解決您的問題:

<Style x:Key="{x:Type Label}" 
    TargetType="{x:Type Label}"> 
<Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type Label}"> 
      <Border Background="{TemplateBinding Background}" 
        BorderThickness="{TemplateBinding BorderThickness}" 
        BorderBrush="{TemplateBinding BorderBrush}" 
        Padding="{TemplateBinding Padding}" 
        SnapsToDevicePixels="true"> 
       <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
            VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
            RecognizesAccessKey="False" 
            SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> 
      </Border> 
      <ControlTemplate.Triggers> 
       <Trigger Property="IsEnabled" 
         Value="false"> 
        <Setter Property="Foreground" 
          Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" /> 
       </Trigger> 
      </ControlTemplate.Triggers> 
     </ControlTemplate> 
    </Setter.Value> 
</Setter>