/// <summary>
        /// 写真をキャプチャします。
        /// </summary>
        /// <param name="format">キャプチャされた写真を格納する形式を決定します。</param>
        /// <returns></returns>
        private async static Task<StorageFile> CapturePhotoAsync(WrappedCameraCaptureUIPhotoFormat format)
        {
#if WINDOWS_APP
            var camera = new CameraCaptureUI();

            camera.PhotoSettings.Format = (CameraCaptureUIPhotoFormat)format;

            return await camera.CaptureFileAsync(CameraCaptureUIMode.Photo);
#else
            // 警告の抑制
            var _ = await Task.FromResult<StorageFile>(null);

            throw new NotImplementedException("Phone not supported.");
#endif
        }
        /// <summary>
        /// アクションを実行します。
        /// </summary>
        /// <param name="format">キャプチャされた写真を格納する形式を決定します。</param>
        /// <param name="callbakCommand">アクションの実行後に呼び出す <see cref="ICommand"/>。</param>
        /// <param name="errorHandleCommand">例外発生時に呼び出す <see cref="ICommand"/>。</param>
        /// <returns></returns>
        private async static Task ExecuteAsync(WrappedCameraCaptureUIPhotoFormat format, ICommand callbakCommand, ICommand errorHandleCommand)
        {
            StorageFile photo;

            try
            {
                photo = await CapturePhotoAsync(format);
            }
            catch (Exception ex)
            {
                if (errorHandleCommand == null) throw;
                if (!errorHandleCommand.CanExecute(ex)) throw;
                errorHandleCommand.Execute(ex);
                return;
            }

            if (callbakCommand.CanExecute(photo))
            {
                callbakCommand.Execute(photo);
            }
        }