如果您在文本框上绑定了UpdateSourceTrigger.PropertyChanged,每当TextBox上的textproperty发生更改并且您在该Property上有一个RaisedPropertyChanged时,它就更新您的数据源,那么您的文本框变得非常慢(在键入一些文本期间)里面有很多文字(超过1000个字符)。有人为这个问题找到解决方案吗?我需要通知GUI有关数据模型的更改。我使用MVVM模式。我已经尝试将我的内容属性转换为依赖对象 - >相同的文本框输入滞后。这个问题让我感到困惑,因为这应该是基本的银光东西?
欢呼声 托拜厄斯
var binding = new Binding("Content");
binding.Mode = BindingMode.TwoWay;
binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
myTextBox.SetBinding(TextBox.TextProperty, binding);
private string m_content;
public string Content
{
get { return m_content; }
set
{
m_content = value;
//RaisePropertyChanged("Content");
}
}
public event PropertyChangedEventHandler PropertyChanged;
/// <summary>
/// Raises this object's PropertyChanged event.
/// </summary>
/// <param name="propertyName">The property that has a new value.</param>
protected void RaisePropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
var e = new PropertyChangedEventArgs(propertyName);
handler(this, e);
}
}
答案 0 :(得分:1)
尝试将文本框的 UpdateSourceTrigger 属性设置为 LostFocus ,以便在输入时不会更新基础数据源