2010-10-02 4 views
1

Je ne trouve un moyen de:Comment sélectionner le texte dans TextBock?

<TextBox Text="Text!" 
IsReadOnly="True" 
IsTabStop="False" 
BorderThickness="0" 
> 
    <TextBox.Style> 
     <Style TargetType="{x:Type TextBox}"> 
      <Style.Triggers> 
       <MultiTrigger> 
        <MultiTrigger.Conditions> 
         <Condition Property="IsMouseOver" Value="False" /> 
         <Condition Property="IsFocused" Value="False" /> 
        </MultiTrigger.Conditions> 
        <Setter Property="Template"> 
         <Setter.Value> 
          <ControlTemplate TargetType="{x:Type TextBox}"> 
           <TextBlock Text="{TemplateBinding Text}" /> 
          </ControlTemplate> 
         </Setter.Value> 
        </Setter> 
       </MultiTrigger> 
      </Style.Triggers> 
     </Style> 
    </TextBox.Style> 
</TextBox> 

Il y a une autre option pas si grand? Pourquoi ne pas utiliser un TextBox si vous voulez qu'il soit interactif?

Répondre

3

Gishu a la bonne idée.

Utilisez un TextBox et le rendre ReadOnly. L'utilisateur peut sélectionner et copier le texte, mais ne peut pas modifier le texte.

<TextBox IsReadOnly='True' Text='ABC ABD ABC ABD'/> 
+1

oui. plein de bonheur, il faut ajouter BorderThickenes = 0 – Mediator

1

Pourquoi ne pas utiliser un TextBox?
TextBlocks doit être utilisé pour afficher du texte statique - c'est une variante légère de l'étiquette WPF.

+0

J'ai besoin que ce soit interactif, juste que vous puissiez sélectionner et copier. Étiquette, aussi, ne libère pas le texte – Mediator

+0

@simply, si vous devez être capable de faire un clic droit et copier du texte, je pense que vous devriez utiliser une zone de texte. Si vous ne voulez pas que l'utilisateur modifie le texte, définissez son prop readonly sur true. – Gishu

Questions connexes