Skip to content

Instantly share code, notes, and snippets.

View nuitsjp's full-sized avatar

Atsushi Nakamura nuitsjp

View GitHub Profile
@nuitsjp
nuitsjp / MainPage2.xaml
Last active August 21, 2016 05:47
NavigationService Overview MainPage2.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="NavigationService.Views.MainPage"
Title="MainPage">
<StackLayout HorizontalOptions="Center" VerticalOptions="Center">
<Label Text="{Binding Title}" />
<Button Text="Navigate Second Page." Command="{Binding NavigateSecondCommand}"/>
@nuitsjp
nuitsjp / MainPageViewModel2.cs
Created August 21, 2016 05:36
NavigationService Overview MainPageViewModel2
private readonly INavigationService _navigationService;
public ICommand NavigateSecondCommand { get; }
public MainPageViewModel(INavigationService navigationService)
{
_navigationService = navigationService;
NavigateSecondCommand = new DelegateCommand(() =>
{
_navigationService.NavigateAsync("SecondPage");
});
}
@nuitsjp
nuitsjp / MainPageViewModel1.cs
Last active August 21, 2016 05:35
NavigationService Overview MainPageViewModel1
private readonly INavigationService _navigationService;
public MainPageViewModel(INavigationService navigationService)
{
_navigationService = navigationService;
}
@nuitsjp
nuitsjp / RegisterTypes.cs
Created August 21, 2016 05:28
NavigationService Overview RegisterTypes
protected override void RegisterTypes()
{
Container.RegisterTypeForNavigation<MainPage>();
Container.RegisterTypeForNavigation<SecondPage>();
}
@nuitsjp
nuitsjp / SecondPageViewModel.cs
Created August 21, 2016 05:27
NavigationService Overview SecondPageViewModel.cs
public class SecondPageViewModel : BindableBase
{
public SecondPageViewModel()
{
}
}
@nuitsjp
nuitsjp / SecondPage.xaml
Last active August 21, 2016 06:38
NavigationService Overview SecondPage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="NavigationService.Views.SecondPage"
Title="SecondPage">
<StackLayout Orientation="Vertical" HorizontalOptions="Center" VerticalOptions="Center">
<Label Text="Second Page."/>
</StackLayout>
@nuitsjp
nuitsjp / RegisterFactory.cs
Last active August 14, 2016 05:52
【Xamarin】Prism.Forms入門 ViewModelLocator RegisterFactory
protected override void ConfigureViewModelLocator()
{
base.ConfigureViewModelLocator();
ViewModelLocationProvider.Register<MainPage>(() => new MainPageViewModel());
}
@nuitsjp
nuitsjp / RegisterTypeFactory.cs
Last active August 14, 2016 05:52
【Xamarin】Prism.Forms入門 ViewModelLocator RegisterTypeFactory
protected override void ConfigureViewModelLocator()
{
base.ConfigureViewModelLocator();
ViewModelLocationProvider.Register<MainPage, HogeViewModel>();
}
@nuitsjp
nuitsjp / CustomizeResolver.cs
Last active August 14, 2016 05:52
【Xamarin】Prism.Forms入門 ViewModelLocator
protected override void ConfigureViewModelLocator()
{
base.ConfigureViewModelLocator(); // <- 必須!DIされなくなります。
ViewModelLocationProvider.SetDefaultViewTypeToViewModelTypeResolver(
viewType =>
{
var viewName = viewType.FullName;
viewName = viewName.Replace(".Views.", ".ViewModels.");
string viewModelName;
if (viewName.EndsWith("Page"))
@nuitsjp
nuitsjp / HatPepper.cs
Created August 12, 2016 06:52
コラム01:PrismとDIコンテナ 03.疎結合
public class HatPepper
{
private readonly IGeolocationService _geolocationService;
public HatPepper(IGeolocationService geolocationService)
{
_geolocationService = geolocationService;
}
public IList<Shop> SearchShops()
{