30. using Cirrious.CrossCore.IoC;
using Cirrious.MvvmCross.ViewModels;
using RoomMetro.RegisterationService.Core.ViewModels;
namespace RoomMetro.RegisterationService.Core
{
public class App : MvxApplication
{
public override void Initialize()
{
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();
RegisterAppStart<MemberListViewModel>();
}
}
}
31. using Cirrious.CrossCore.IoC;
using Cirrious.MvvmCross.ViewModels;
using RoomMetro.RegisterationService.Core.ViewModels;
namespace RoomMetro.RegisterationService.Core
{
public class App : MvxApplication
{
public override void Initialize()
{
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();
RegisterAppStart<MemberListViewModel>();
}
}
}
32. using Cirrious.CrossCore.IoC;
using Cirrious.MvvmCross.ViewModels;
using RoomMetro.RegisterationService.Core.ViewModels;
namespace RoomMetro.RegisterationService.Core
{
public class App : MvxApplication
{
public override void Initialize()
{
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();
RegisterAppStart<MemberListViewModel>();
}
}
}
33. public class MemberListViewModel
: MvxViewModel
{
private readonly IDataService dataService;
public MemberListViewModel(IDataService dataService)
{
this.dataService = dataService;
}
private ObservableCollection<MemberViewModel> members = new ObservableCollection<MemberViewModel>();
public ObservableCollection<MemberViewModel> Members
{
get
{
return members;
}
set
{
if (members == value)
{
return;
}
members = value;
RaisePropertyChanged(() => Members);
}
} //続く
34. private MvxCommand loadCommand;
public MvxCommand LoadCommand
{
get
{
return loadCommand
?? (loadCommand = new MvxCommand(ExecuteLoadCommand));
}
}
private void ExecuteLoadCommand()
{
LoadAsync().FireAndForget();
}
}
38. namespace RoomMetro.RegisterService.Store
{
public class Setup : MvxStoreSetup
{
public Setup(Frame rootFrame) : base(rootFrame) {}
protected override IMvxApplication CreateApp()
{
return new RegisterationService.Core.App();
}
protected override IMvxTrace CreateDebugTrace()
{
return new DebugTrace();
}
}
}
39. //前略
if (rootFrame.Content == null)
{
var setup = new Setup(rootFrame);
setup.Initialize();
var start = Mvx.Resolve<IMvxAppStart>();
start.Start();
}
//後略