2011-10-22 15 views
21

Una pregunta muy simple:No se puede ver _ (subrayado) en el contenido de WPF

¿Por qué no puedo ver _ (subrayado) en el contenido de WPF?

Por ejemplo el contenido de

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

se muestra como "testt" (con el carácter de subrayado no mostrado).

+0

hicieron que trató de escapar de ella? '__' o' \ _' (simplemente adivinando con 2da sugerencia) –

+0

HI, quería saber su razón, como dijo uno de mis amigos de stackoverflow, es como las formas & en Windows. Gracias. – AliRezza

Respuesta

25

etiquetas soportan nemotécnicos (es decir, se puede utilizar ctrl +(clave) para dar a concentrarse). Usted define la tecla mnemónica usando un guión bajo.

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

Si quieres ver guiones, guiones bajos reemplazar individuales con subrayado doble.

8

Esto se debe a que Label admite la definición de un mnemónico basado en su contenido, que se realiza prefijando el mnemónico con un guión bajo (lo mismo ocurre en Windows Forms con &).

Use un doble guión si quieres un literal que aparezca:

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

Sé im tarde a la fiesta, pero yo creo que si usted no tiene la etiqueta asociada a un cuadro de texto del que debiera usa un TextBlock en su lugar.

Cambiar su control a un TextBlock soluciona este problema, ya que sólo cuenta con el apoyo de etiqueta mnemotécnica

0

Este estilo resuelve su problema:

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

Cuestiones relacionadas