2010-06-21 4 views

Répondre

6

C#:

textBox.Foreground = Brushes.Gray; 

Sur XAML:

<TextBox Foreground="Gray" /> 

Pour le désactiver (va changer de fond aussi):

textBox.IsEnabled = false; 
-1

Utilisez TextBox au lieu et définir IsReadOnly = true ou IsEnabled = false

4

Vous pouvez définir la propriété TextBlock.Foreground sur n'importe quelle couleur (techniquement, n'importe quelle brosse). Si vous voulez qu'il soit estompé, situé juste:

<TextBlock Text="Foo" Foreground="Gray" /> 

Si vous voulez regarder « désactivé », vous pouvez définir IsEnabled false:

<TextBlock Text="Foo" IsEnabled="false" /> 
+1

Je souhaite utiliser l'indicateur IsEnabled. une fois que je l'ai mis à faux, cela n'a aucun effet. quel pourrait être le problème? – user209293

+0

@ user209293: Comment l'avez-vous mis à false? –

+0

Je l'ai fait du côté du code. textblock.Isenabled = false. – user209293

2

Le drapeau IsEnabled pour un textblock-t pas gris le texte. This post détaille les différences entre textblock et l'étiquette. Il montre également le XAML pour ajouter un déclencheur sur IsEnabled pour griser le texte.

0

Le problème avec l'utilisation de la TextBox est qu'il y a une boîte autour de lui. Si vous utilisez Label (avec Content = "Foo"), vous pouvez basculer la couleur du texte avec IsEnabled. Sinon, il se comporte comme TextBlock pour un titre/label court.

Questions connexes