Salut tout le monde!
J'ai le code suivant qui défini deux contrôles: un Label et un TextBox. Je veux que le TextBox affiche en italique "Search..." lorsque que le focus n'est pas sur le contrôle. Le code qui suit fait le boulot :
Cependant, il y a un problème... Tant et aussi longtemps que je ne tappe pas de texte dans ce TextBox, "Search..." va apparaitre et disparaitre sans trop de problème. Si de texte est saisie dans le TextBox, ce comportement n'est plus vraie. Seul la propriété FontStyle va changer. Pourquoi? De plus, comment ne pas changer les propriétés (Text et FontStyle) si le contenu (propriété Text) n'est pas vide? Grosso modo, j'essai de créer un "Search" TextBox très semblable a ce que nous retrouvons dans toutes les fenêtres de Vista ou de IE7.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <StackPanel x:Name="stackPanel" Width="250" Height="Auto"> <StackPanel.Resources> <Style x:Key="searchBox" TargetType="{x:Type TextBox}"> <Style.Triggers> <Trigger Property="IsFocused" Value="False"> <Setter Property="Text"> <Setter.Value>Search...</Setter.Value> </Setter> <Setter Property="FontStyle"> <Setter.Value>Italic</Setter.Value> </Setter> </Trigger> </Style.Triggers> </Style> </StackPanel.Resources> <Label x:Name="lblKey" Width="Auto" Height="Auto" Content="Search"/> <TextBox x:Name="txtValue" Width="Auto" Height="Auto" Style="{StaticResource searchBox}"></TextBox> </StackPanel>
Merci de votre aide!
Martin
Partager