private static void IsEditPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var renameTextBlock = d as RenameTextBlock;

            if (renameTextBlock != null)
            {
                renameTextBlock.RaisePropertyChanged("DisplayVisibility");
                renameTextBlock.RaisePropertyChanged("EditVisibility");
                if ((bool)e.NewValue)
                {
                    renameTextBlock.EditingTextBox.Focus();
                    renameTextBlock.EditText = renameTextBlock.Text;

                    int dotIndex = renameTextBlock.Text.LastIndexOf(".");
                    if (renameTextBlock.IsFileName && dotIndex > 0)
                    {
                        renameTextBlock.EditingTextBox.Select(0, dotIndex);
                    }
                    else
                    {
                        renameTextBlock.EditingTextBox.SelectAll();
                    }
                }
                else
                {
                    var renamedEventArgs = new TextRenamedEventArgs(renameTextBlock.Text, renameTextBlock.EditText);
                    renameTextBlock.OnTextRenamed(renamedEventArgs);
                    if (!renamedEventArgs.IsCancelled)
                    {
                        renameTextBlock.Text = renameTextBlock.EditText;
                    }
                }
            }
        }
        private void OnTextRenamed(TextRenamedEventArgs renamedEventArgs)
        {
            EventHandler <TextRenamedEventArgs> handler = TextRenamed;

            if (handler != null)
            {
                handler(this, renamedEventArgs);
            }
        }
        private void RenameControl_TextRenamed(object sender, TextRenamedEventArgs e)
        {
            string newName = e.NewText;

            e.IsCancelled = true;
            if (!string.IsNullOrEmpty(newName))
            {
                var selectedItem = ChildrenList.SelectedValue as DataRepositoryItem;
                if (selectedItem != null)
                {
                    selectedItem.IsRenaming = false;
                    if (selectedItem.CanRename && selectedItem.Rename(newName))
                    {
                        e.IsCancelled = false;
                    }
                }
            }
            else
            {
                System.Windows.Forms.MessageBox.Show(GisEditor.LanguageManager.GetStringResource("FilderDataRepositeryControlNameOneCharecterText"), GisEditor.LanguageManager.GetStringResource("GeneralMessageBoxInfoCaption"), System.Windows.Forms.MessageBoxButtons.OK);
            }
        }