/// <summary>
        /// 単一アプリケーション オブジェクトを初期化します。これは、実行される作成したコードの
        ///最初の行であるため、main() または WinMain() と論理的に等価です。
        /// </summary>
        public App()
        {
            Microsoft.ApplicationInsights.WindowsAppInitializer.InitializeAsync(
                Microsoft.ApplicationInsights.WindowsCollectors.Metadata |
                Microsoft.ApplicationInsights.WindowsCollectors.Session);
            this.InitializeComponent();
            this.Suspending += OnSuspending;
            this.Resuming   += OnResuming;
            StateManager     = new AppStateManager();
            StateManager.StateList.Add(AppState.Mobile, 0);
            StateManager.StateList.Add(AppState.Normal, 800);
            StateManager.StateList.Add(AppState.Wide, 1600);

            ViewModel = new MainViewModel();
            var vm = DataLoadAsync().Result;

            if (vm != null)
            {
                ViewModel = vm;
            }
            else
            {
                ViewModel.InitializeCommand.Execute(null);
            }
            ViewModel.OnRegisterVoiceCommand += async(xml) =>
            {
                try
                {
                    var folder = ApplicationData.Current.LocalFolder;
                    var file   = await folder.CreateFileAsync("VoiceCommandFile", CreationCollisionOption.ReplaceExisting);

                    await FileIO.WriteTextAsync(file, xml);

                    await VoiceCommandDefinitionManager.InstallCommandDefinitionsFromStorageFileAsync(file);
                    await DataSaveAsync();

                    var dialog = new MessageDialog("Cortanaの更新が完了しました");
                    await dialog.ShowAsync();
                }
                catch (Exception e)
                {
                    var dialog = new MessageDialog(e.Message, "Cortanaの更新に失敗しました");
                    await dialog.ShowAsync();
                }
            };
            OnChangeAppState += (s, s2) => { };
        }
Esempio n. 2
0
 /// <summary>
 /// 単一アプリケーション オブジェクトを初期化します。これは、実行される作成したコードの
 ///最初の行であるため、main() または WinMain() と論理的に等価です。
 /// </summary>
 public App()
 {
     Microsoft.ApplicationInsights.WindowsAppInitializer.InitializeAsync(
         Microsoft.ApplicationInsights.WindowsCollectors.Metadata |
         Microsoft.ApplicationInsights.WindowsCollectors.Session);
     this.InitializeComponent();
     this.Suspending += OnSuspending;
     this.Resuming += OnResuming;
     StateManager = new AppStateManager();
     StateManager.StateList.Add(AppState.Mobile, 0);
     StateManager.StateList.Add(AppState.Normal, 800);
     StateManager.StateList.Add(AppState.Wide, 1600);
     
     ViewModel = new MainViewModel();
     var vm = DataLoadAsync().Result;
     if (vm != null)
     {
         ViewModel = vm;
     }
     else
     {
         ViewModel.InitializeCommand.Execute(null);
     }
     ViewModel.OnRegisterVoiceCommand += async (xml) =>
     {
         try
         {
             var folder = ApplicationData.Current.LocalFolder;
             var file = await folder.CreateFileAsync("VoiceCommandFile", CreationCollisionOption.ReplaceExisting);
             await FileIO.WriteTextAsync(file, xml);
             await VoiceCommandDefinitionManager.InstallCommandDefinitionsFromStorageFileAsync(file);
             await DataSaveAsync();
             var dialog = new MessageDialog("Cortanaの更新が完了しました");
             await dialog.ShowAsync();
         }
         catch (Exception e)
         {
             var dialog = new MessageDialog(e.Message, "Cortanaの更新に失敗しました");
             await dialog.ShowAsync();
         }
     };
     OnChangeAppState += (s,s2) => { };
 }