J'ai une page WM7 simple avec un TextBox
. De plus, j'ai affecté EventToCommand
(un RelayCommand<string>
) à ce TextBox
, en réaction à l'événement TextChanged
. Pour tester des fins, j'ai fait la méthode supplémentaire TextBox_TextChanged
dans le code de la page derrière. La commande et TextBox_TextChanged
impriment une boîte de message avec le contenu de la zone de texte. La valeur initiale de TextBox
est "ABC"
. Ensuite, je presse D et:MVVM Light est trop rapide :)
TextBox_TextChanged
imprimeABCD
.- La commande imprime
ABC
. D est manquant.
Pourquoi la commande est-elle si rapide?
Déclaration de commande:
public RelayCommand<string> TextChanged {get; private set;}
initialisation de commande:
TextChanged = new RelayCommand<string>((s) => MessageBox.Show(s));
Commande de liaison:
<TextBox x:Name="SearchTextBox" Margin="10,0" TextWrapping="Wrap" Text="{Binding SearchString, Mode=TwoWay}" FontStyle="Italic" TextChanged="SearchTextBox_TextChanged" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="TextChanged">
<GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding TextChanged, Mode=OneWay}" CommandParameter="{Binding Text, ElementName=SearchTextBox}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
Pouvez-vous poster votre code? Il est difficile de savoir à coup sûr sans voir comment tout est relié ensemble. – Oded
une question est ici? –
Par WM7 voulez-vous dire Windows Phone 7? –