private void SpacePressed(string inputText)
        {
            if (IsSearchEnabled)
            {
                return;
            }
            else
            {
                if (!string.IsNullOrWhiteSpace(inputText))
                {
                    CustomerModels.Label newLabel = CreateLabel(inputText);
                    TagViewModelCollection.Add(new TagControlItemViewModel(newLabel)
                    {
                        IsEditing = false
                    });

                    var editViewModel = TagViewModelCollection.SingleOrDefault(item => item.IsEditing == true);
                    if (editViewModel != null)
                    {
                        (editViewModel.InnerItem as CustomerModels.Label).Name = string.Empty;
                    }

                    var view = CollectionViewSource.GetDefaultView(TagViewModelCollection);
                    view.SortDescriptions.Add(new SortDescription("IsEditing", ListSortDirection.Ascending));
                    view.Refresh();
                }
            }
        }
        private void BackSpacePressed(string inputText)
        {
            if (string.IsNullOrEmpty(inputText))
            {
                var lastItem = TagViewModelCollection.LastOrDefault(tvm => tvm.IsEditing == false);
                if (lastItem != null)
                {
                    TagViewModelCollection.Remove(lastItem);
                }
            }
            else
            {
                TagControlItemViewModel itemWithEDit = null;
                foreach (var item in lst.Items)
                {
                    if ((item as TagControlItemViewModel).IsEditing)
                    {
                        itemWithEDit = item as TagControlItemViewModel;
                    }
                }

                if (itemWithEDit != null)
                {
                    var item = lst.ItemContainerGenerator.ContainerFromItem(itemWithEDit) as ListBoxItem;
                    if (item != null)
                    {
                        var txt = UIHelper.FindVisualChild <TextBox>(item);
                        if (txt != null)
                        {
                            string currentValue = txt.Text;
                            string selectedText = txt.SelectedText;

                            if (!string.IsNullOrEmpty(selectedText))
                            {
                                //delete all selected text
                                var caretIndex = txt.CaretIndex;
                                txt.Text       = txt.Text.Replace(txt.SelectedText, string.Empty);
                                txt.CaretIndex = caretIndex;
                            }
                            else
                            {
                                //delete last symbol in textbox
                                var caretIndex = txt.CaretIndex;

                                if (caretIndex > 0)
                                {
                                    string backSpace = currentValue.Remove(caretIndex - 1, 1);
                                    txt.Text       = backSpace;
                                    txt.CaretIndex = caretIndex - 1;
                                }
                            }
                        }
                    }
                }
            }
        }
        private void DeleteItem(object item)
        {
            if (item == null)
            {
                return;
            }

            var itemToDelete = item as TagControlItemViewModel;

            TagViewModelCollection.Remove(itemToDelete);
        }
        private void SelectItemFromPopup(object selectedItem)
        {
            if (selectedItem == null)
            {
                return;
            }

            TagViewModelCollection.Add(new TagControlItemViewModel(selectedItem)
            {
                IsEditing = false
            });

            popupSearch.IsOpen      = false;
            InputTextForSearch      = string.Empty;
            IsTextForSearchEmpty    = true;
            SelectedObjectFromPopup = null;

            var view = CollectionViewSource.GetDefaultView(TagViewModelCollection);

            view.SortDescriptions.Add(new SortDescription("IsEditing", ListSortDirection.Ascending));
            view.Refresh();
        }