Пример #1
0
        public void ManageLanguages()
        {
            LangManager window = new LangManager
            {
                // Ensure the alt+tab is working properly.
                Owner = mainWindow
            };
            var service = new MainWindowService(window);

            window.DataContext = App.Container.Resolve <LangWindowViewModel>(
                new ParameterOverride("windowService", service));
            window.ShowDialog();
        }
Пример #2
0
        // Constructor
        public MainWindow()
        {
            MainWindowService service = new MainWindowService(this);

            this.DataContext = new MainViewModel(service);

            Log.Logger.Debug("Starting MainWindow.");

            InitializeComponent();
            // Fix the view so some language would be selected;
            languagesBox.SelectedIndex = 0;

            Log.Logger.Debug("MainWindow has started.");
        }
Пример #3
0
        /// <summary>
        /// Prepares environmental settings for app and starts.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ApplicationStartup(object sender, StartupEventArgs e)
        {
            // Get app name from config file
            string appName = Tools.Settings.Read("appName");

            if (string.IsNullOrWhiteSpace(appName))
            {
                MessageBox.Show("Error reading app settings.\nLangTools can't start.");
                return;
            }
            // Get app directory
            string appDir;

            try
            {
                appDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
                appDir = Path.Combine(appDir, appName);
                Directory.CreateDirectory(appDir);
            }
            catch (Exception err)
            {
                MessageBox.Show(string.Format("LangTools can't start.\n{0}", err.Message));
                return;
            }

            // Configure and start model
            IO.CombinePath(out string stylePath, Directory.GetCurrentDirectory(), "plugins");
            var modelFactory = new ModelFactory.ModelFactory(appDir, stylePath, Tools.Settings.Read("commonDic"));

            // Make unity container out of model container
            Container = modelFactory.Container.CreateChildContainer();
            // Register event aggregator
            Container.RegisterInstance <IEventAggregator>(new EventAggregator());
            // Register logging class
            Container.RegisterInstance <ILoggerFacade>(new SimpleLogger(appDir));
            // Start main window
            MainWindow = new MainWindow
            {
                Title = appName
            };
            // Inject dependencies and properties
            IUIMainWindowService service = new MainWindowService(MainWindow);

            MainWindow.DataContext = Container.Resolve <MainViewModel>(new ParameterOverride("windowService", service));
            MainWindow.Show();
        }