diff --git a/src/Ursa/Controls/AutoCompleteBox/MultiAutoCompleteBox.cs b/src/Ursa/Controls/AutoCompleteBox/MultiAutoCompleteBox.cs index 65fda25..0cebb14 100644 --- a/src/Ursa/Controls/AutoCompleteBox/MultiAutoCompleteBox.cs +++ b/src/Ursa/Controls/AutoCompleteBox/MultiAutoCompleteBox.cs @@ -1570,7 +1570,7 @@ public partial class MultiAutoCompleteBox : TemplatedControl, IInnerContentContr private void OnAdapterSelectionChanged(object? sender, SelectionChangedEventArgs e) { if (_valueBindingEvaluator is null) return; - UpdateTextValue(_valueBindingEvaluator?.GetDynamicValue(_adapter?.SelectedItem), false); + UpdateTextValue(_valueBindingEvaluator?.GetDynamicValue(_adapter?.SelectedItem, true), false); // SelectedItems?.Add(_adapter?.SelectedItem); } @@ -1588,6 +1588,7 @@ public partial class MultiAutoCompleteBox : TemplatedControl, IInnerContentContr // Completion will update the selected value //UpdateTextCompletion(false); _ = SelectedItems ?? throw new NullReferenceException("Selected Items collection must be initialized. "); + if (_adapter?.SelectedItem is null) return; SelectedItems?.Add(_adapter?.SelectedItem); UpdateTextValue(string.Empty, false); @@ -1842,7 +1843,7 @@ public partial class MultiAutoCompleteBox : TemplatedControl, IInnerContentContr /// context leaf node. /// /// The type of dynamic binding to return. - public class BindingEvaluator : Control + public class BindingEvaluator : StyledElement { /// /// Identifies the Value dependency property. @@ -1920,7 +1921,7 @@ public partial class MultiAutoCompleteBox : TemplatedControl, IInnerContentContr /// Returns the evaluated T value of the bound dependency /// property. /// - public T GetDynamicValue(object o, bool clearDataContext) + public T GetDynamicValue(object? o, bool clearDataContext) { DataContext = o; var value = Value;