aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/ViewModelLocator.cs
blob: c06ae05e712cbf28f45d609af71163bdcab77e4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core.DI;
using Tango.MachineStudio.Sites.ViewModels;

namespace Tango.MachineStudio.Sites
{
    public static class ViewModelLocator
    {
        /// <summary>
        /// Initializes a new instance of the ViewModelLocator class.
        /// </summary>
        static ViewModelLocator()
        {
            TangoIOC.Default.Register<MainViewVM>();
        }

        public static MainViewVM MainViewVM
        {
            get
            {
                return TangoIOC.Default.GetInstance<MainViewVM>();
            }
        }
    }
}
>MainWindow : Window { private IScriptingEngine _engine; private ScriptSession _session; public MainWindow() { InitializeComponent(); _engine = new ScriptingEngine(); } private async void Button_Click(object sender, RoutedEventArgs e) { Script s = new Script(); s.Code = @" using System; using System.Windows.Forms; MessageBox.Show(""Hi Roy""); "; try { _session = await _engine.Run(s); _session.StateChanged += Session_StateChanged; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } private void Session_StateChanged(object sender, ScriptSessionStateChangedEventArgs e) { if (e.State == ScriptSessionState.Completed) { MessageBox.Show(e.ReturnValue.ToString()); } else if (e.State == ScriptSessionState.Aborted) { MessageBox.Show("Aborted"); } else if (e.State == ScriptSessionState.Failed) { MessageBox.Show(e.Exception.ToString()); } } private void Button_Click_1(object sender, RoutedEventArgs e) { _session.Abort(); } } }