2012-06-19 9 views
0

TextBox의 textproperty가 변경 될 때마다 데이터 소스를 업데이트하는 UpdateSourceTrigger.PropertyChanged가있는 텍스트 상자에 바인딩이 있고 RaisedPropertyChanged가 설정된 경우 그 속성, 그때 귀하의 텍스트 상자가 정말 천천히 (일부 텍스트를 입력하는 동안) 많은 텍스트가있는 경우 (1000 자 이상). 누군가 그 문제에 대한 해결책을 갖고 있습니까? GUI에 데이터 모델의 변경 사항을 알릴 필요가 있습니다. MVVM 패턴을 사용합니다. 나는 이미 내 Content Property를 의존성 객체로 변환하려고 시도했다. -> 동일한 텍스트 입력 지연. 이것이 기본적인 실버 라이트가되어야하기 때문에이 문제는 나를 혼란스럽게합니다 ??UpdateSourceTrigger.PropertyChanged 및 TextBox DataBinding의 INotifyChanged TextBox의 Silverlight 5 입력이 매우 느립니다.

환호 토비아스

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

답변

1

시도는 기본 데이터 소스가

입력에 너무 업데이트되지 않습니다 LostFocus에 텍스트 상자의 UpdateSourceTrigger 속성을 설정합니다