0

TextBox の textproperty が変更されるたびにデータソースを更新する UpdateSourceTrigger.PropertyChanged を使用してテキスト ボックスにバインディングがあり、その Property に RaisedPropertyChanged がある場合、(テキストを入力している間) テキスト ボックスが非常に遅くなります。内部に大量のテキスト (1000 文字以上)。誰かがその問題の解決策を持っていますか? データモデルからの変更について GUI に通知する必要があります。MVVM パターンを使用します。私はすでにコンテンツ プロパティを依存オブジェクトに変換しようとしました - > 同じテキスト ボックスのタイピング ラグ。これは基本的な Silverlight のものであるべきなので、この問題は私を混乱させます??

乾杯トバイアス

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

1 に答える 1

1

テキストボックスのUpdateSourceTriggerプロパティをLostFocusに設定して、入力時に基になるデータソースが更新されないようにしてください

于 2013-03-27T16:29:03.397 に答える