private void OnTermsCollectionChanged(object sender, EventArgs args) { if (!this.Terms.Contains(this.SelectedTerm)) { this.SelectedTerm = this.lastSelectedIndex < this.Terms.Count && this.lastSelectedIndex >= 0 ? this.Terms[this.lastSelectedIndex] : this.Terms.LastOrDefault(); } this.OnPropertyChanged(nameof(this.Terms)); }
protected override void SetStringValue(string value) { var newTerms = value.Split(',').Where(ms => !string.IsNullOrEmpty(ms)).Select(ms => TermObject.FromString(ms)).ToList(); this.Terms = new ObservableCollection <TermObject>(newTerms); }