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

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

C# (114.3 KB)
 
 
 
 
 
(0)
36 times
Add to favorites
10/10/2014
E-mail Twitter del.icio.us Digg Facebook
using Microsoft.Xaml.Interactivity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace ODataReadWriteSampleApp.Commons
{
    [TypeConstraint(typeof(ListViewBase))]
    public class ItemClickToCommandBehavior : DependencyObject, IBehavior
    {
        public ICommand Command
        {
            get { return (ICommand)GetValue(CommandProperty); }
            set { SetValue(CommandProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Command.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty CommandProperty =
            DependencyProperty.Register("Command", typeof(ICommand), typeof(ItemClickToCommandBehavior), new PropertyMetadata(null));


        public DependencyObject AssociatedObject { get; private set; }

        private ListViewBase ListView { get { return (ListViewBase)this.AssociatedObject; } }

        public void Attach(DependencyObject associatedObject)
        {
            this.AssociatedObject = associatedObject;
            this.ListView.ItemClick += this.ItemClick;
        }

        private void ItemClick(object sender, ItemClickEventArgs e)
        {
            if (this.Command.CanExecute(e.ClickedItem))
            {
                this.Command.Execute(e.ClickedItem);
            }
        }

        public void Detach()
        {
            this.ListView.ItemClick -= this.ItemClick;
        }
    }
}