2011-10-22 36 views
21

Một câu hỏi rất đơn giản:Không thể nhìn thấy _ (gạch dưới) trong nội dung WPF

sao tôi không thể nhìn thấy _ (gạch dưới) trong nội dung WPF?

Ví dụ nội dung của

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

được hiển thị như "testt" (với dấu gạch dưới không hiển thị).

+0

bạn đã cố gắng để thoát khỏi nó? '__' hoặc' \ _' (chỉ đoán với gợi ý thứ hai) –

+0

HI, tôi muốn biết lý do của nó, là một trong những người bạn của tôi từ stackoverflow nói, giống như & trong windows forms.Thanks. – AliRezza

Trả lời

25

Nhãn hỗ trợ ghi nhớ (tức là bạn có thể sử dụng ctrl + (khóa) để tập trung vào). Bạn xác định khóa mnemonic bằng dấu gạch dưới.

http://www.charlespetzold.com/blog/2006/01/061004.html

Nếu bạn muốn nhìn thấy dấu gạch dưới, thay thế gạch duy nhất với dấu gạch đôi.

8

Điều này là do Label hỗ trợ xác định một chú thích dựa trên nội dung của nó, được thực hiện bằng cách đặt trước chú thích bằng dấu gạch dưới (điều tương tự xảy ra trong Windows Biểu mẫu với &).

Sử dụng một dấu gạch dưới đôi nếu bạn muốn có một nghĩa đen xuất hiện:

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

Tôi biết im muộn để đảng nhưng tôi tin rằng nếu bạn không có Label liên quan đến một TextBox hơn bạn nên sử dụng TextBlock để thay thế.

Thay đổi kiểm soát của bạn đến một TextBlock giải quyết vấn đề này vì chỉ có Label có sự hỗ trợ ghi nhớ

0

phong cách này giải quyết vấn đề của bạn:

<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> 

Các vấn đề liên quan