66

MessageText 属性只有在我点击另一个控件时才会更新。更重要的是,如果我按下任何按钮,则不会执行 Click 处理程序,而是执行 MessageText 集。我的头坏了。

<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");
    }
}
4

1 回答 1

153

您可以将 UpdateSourceTrigger 调整为 PropertyChanged

<TextBox x:Name="messageText" Grid.Row="1" Grid.Column="0"
                 TextWrapping="Wrap" Text="{Binding Path=MessageText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
于 2012-08-18T15:28:49.047 回答