/// <summary>
        /// Метод, вызываемый после клика на пункт меню "File - Open".
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void menuFileOpen_Click(object sender, RoutedEventArgs e)
        {
            var dlg = new OpenFileDialog {
                Filter = "XML Files|*.XML"
            };

            if (dlg.ShowDialog() != true)
            {
                return;
            }

            try
            {
                graphArea.RebuildFromSerializationData(FileServiceProviderWPF.DeserializeDataFromFile(dlg.FileName));
                graphArea.SetVerticesDrag(true, true);

                EnableSelectMode();
                graphArea.UpdateAllEdges();
                graphArea.UpdateVertexStyle();
                zoomCtrl.ZoomToFill();
            }
            catch (Exception)
            {
                MessageBox.Show("Ошибка загрузки графа.", "Ошибка");
            }
        }
        /// <summary>
        /// Метод, вызываемый после клика на пункт меню "File - Save".
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void menuFileSave_Click(object sender, RoutedEventArgs e)
        {
            var dlg = new SaveFileDialog {
                Filter = "XML Files|*.XML"
            };

            if (dlg.ShowDialog() != true)
            {
                return;
            }

            try
            {
                FileServiceProviderWPF.SerializeDataToFile(dlg.FileName, graphArea.ExtractSerializationData());
            }
            catch (Exception)
            {
                MessageBox.Show("Ошибка загрузки графа.", "Ошибка");
            }
        }