private void settingView_SettingApplied(object sender, SettingAppliedRoutedEventArgs e)
        {
            if (e.NeedRefresh)
            {
                AreaNav.ClearLayout();

                navTab.Visibility = System.Windows.Visibility.Hidden;

                overrallTab.IsSelected = true;

                GraphDataService = new CsvGraphDataService();
            }

            ((SettingView)sender).Visibility = System.Windows.Visibility.Collapsed;
        }
        public GraphExplorer()
        {
            InitializeComponent();

            ApplySetting(zoomctrl, Area);
            ApplySetting(zoomctrlNav, AreaNav, true);

            Area.VertexDoubleClick    += Area_VertexDoubleClick;
            AreaNav.VertexDoubleClick += AreaNav_VertexDoubleClick;

            Area.VertexSelected += Area_VertexSelected;
            Area.EdgeSelected   += Area_EdgeSelected;

            AreaNav.GenerateGraphFinished += (s, e) => Area_RelayoutFinished(s, e, zoomctrlNav);
            Area.GenerateGraphFinished    += (s, e) => Area_RelayoutFinished(s, e, zoomctrl);

            _viewmodel      = new GraphExplorerViewmodel();
            _viewmodel.View = this;
            DataContext     = _viewmodel;

            this.Loaded += (s, e) =>
            {
                var defaultSvc = GraphExplorerSection.Current.DefaultGraphDataService;

                switch (defaultSvc)
                {
                case GraphDataServiceEnum.Csv:
                    GraphDataService = new CsvGraphDataService();
                    break;

                case GraphDataServiceEnum.Factory:
                    break;

                default:
                    break;
                }
            };
        }