Prism for Windows Runtimeを使ったODataの更新アプリサンプル

サンプルプログラムの概要このサンプルプログラムは、http://www.odata.org/odata-services/のOData(read/write)で定義されているPersonエンティティを読み込んでNameプロパティを編集するサンプルプログラムです。以下のような動作をします。起動直後は、何も表示されません。アプリバーに表示されている読み込みボタンを選択すると、データが読み込まれて表示されます。読み込まれたデータを選択するとNameプロパティの編集用画面に遷移します。データを編集して、アプリバーの保存ボタンを選択すると、データがサーバーに反映さ

C# (114.3 KB)
 
 
 
 
 
(0)
37 times
Add to favorites
10/10/2014
E-mail Twitter del.icio.us Digg Facebook
using Microsoft.Practices.Prism.Mvvm;
using ODataReadWriteSampleApp.Models;
using ODataReadWriteSampleApp.ViewModels;
using ODataReadWriteSampleApp.Views;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using System.Threading.Tasks;
using Windows.ApplicationModel;
using Windows.ApplicationModel.Activation;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// 空のアプリケーション テンプレートについては、http://go.microsoft.com/fwlink/?LinkId=234227 を参照してください

namespace ODataReadWriteSampleApp
{
    /// <summary>
    /// 既定の Application クラスに対してアプリケーション独自の動作を実装します。
    /// </summary>
    sealed partial class App : MvvmAppBase
    {
        protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
        {
            this.NavigationService.Navigate("Main", args.Arguments);
            return Task.FromResult<object>(null);
        }

        protected override Task OnInitializeAsync(IActivatedEventArgs args)
        {
            // VとVMとMのマッピング
            var model = new AppContext();
            ViewModelLocationProvider.Register(
                typeof(MainPage).FullName,
                () => new MainPageViewModel(model, this.NavigationService));
            ViewModelLocationProvider.Register(
                typeof(EditPage).FullName,
                () => new EditPageViewModel(model, this.NavigationService));
            return Task.FromResult<object>(null);
        }
    }
}