public TagWindow(Map map, ListTagsWindow ltw)
 {
     InitializeComponent();
     this.map    = map;
     this.ltw    = ltw;
     DataContext = this;
 }
 private void NewTag_OnClick(object sender, RoutedEventArgs e)
 {
     if (ltw1 == null)
     {
         ltw1 = new ListTagsWindow(map, this);
         ltw1.Show();
     }
     else
     {
         ltw1.Topmost = true;  // important
         ltw1.Topmost = false; // important
         ltw1.Focus();         // important
     }
 }
        private void Tags_Field_TextChanged(object sender, RoutedEventArgs e)
        {
            List <Tag> newTags  = new List <Tag>();
            string     fullText = Tags_Field.Text;

            string[] tagss = fullText.Split(' ');

            string invalidtags = "";

            for (int i = 0; i < tagss.Length; i++)
            {
                string rightForm = tagss[i].Replace('#', ' ');
                rightForm = rightForm.Trim();

                Tag t = map.getTag(rightForm);

                if (t != null) //ako tag postoji
                {
                    newTags.Add(t);
                }
                else
                {
                    invalidtags += tagss[i] + " ";
                }
            }

            tags        = new ObservableCollection <Tag>(newTags);
            invalidtags = invalidtags.Trim();
            if (!invalidtags.Equals(""))
            {
                MessageBox.Show(
                    "Tag(s) " + invalidtags +
                    " do not exist. \nIf you want to use them, please make sure you create them first.", "Tag Error",
                    MessageBoxButton.OK, MessageBoxImage.Error);
                ListTagsWindow tw = new ListTagsWindow(map, this);
                tw.Show();
            }
        }