web-dev-qa-db-fra.com

Mise à jour de liaison de zone de texte dans WPF

La propriété MessageText n'est mise à jour que lorsque j'appuie sur un autre contrôle. De plus, si j'appuie sur n'importe quel bouton, le gestionnaire de clic n'est pas exécuté et l'ensemble MessageText est exécuté à la place. Je me suis cassé la tête.

<TextBox x:Name="messageText" Grid.Row="1" Grid.Column="0"
         TextWrapping="Wrap" Text="{Binding Path=MessageText, Mode=TwoWay}"/>
private void ChatView_Loaded(object sender, RoutedEventArgs e)
{
    DataContext = viewModel;
}
public string MessageText
{
    get
    {
        return this.messageText;
    }
    set
    {
        this.messageText = value;
        OnProperyChanged("MessageText");
    }
}
53
OneMoreVladimir

Vous pouvez ajuster UpdateSourceTrigger sur PropertyChanged

<TextBox x:Name="messageText" Grid.Row="1" Grid.Column="0"
                 TextWrapping="Wrap" Text="{Binding Path=MessageText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
128
Aghilas Yakoub