Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2015
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. public class RecipesFiltersVM : MvxViewModel
  2. {
  3. public SearchField DishField { get; private set; }
  4. public SearchField CuisineField { get; private set; }
  5. public SearchField IngredientField { get; private set; }
  6.  
  7. public RecipesFiltersVM()
  8. {
  9.  
  10. }
  11. }
  12.  
  13. public class SearchField : MvxViewModel
  14. {
  15. private String _searchResult;
  16. public String SearchResult {
  17. get { return _searchResult; }
  18. set {
  19. _searchResult = value;
  20. RaisePropertyChanged (() => SearchResult);
  21. UpdateFoundFilters ();
  22. }
  23. }
  24.  
  25. private ObservableCollection<Filter> _foundFilters;
  26. public ObservableCollection<Filter> FoundFilters {
  27. get { return _foundFilters; }
  28. set {
  29. _foundFilters = value;
  30. RaisePropertyChanged (() => FoundFilters);
  31. }
  32. }
  33.  
  34. public class SearchFieldView : UIView
  35. {
  36. public UITextField SearchResult { get { return _searchResult; } }
  37. private UITextField _searchResult;
  38.  
  39. public UITableView FoundFilters { get { return _foundFilters; } }
  40. private UITableView _foundFilters;
  41. }
  42.  
  43. public class SearchFieldViewWithSearchFieldBinder : MvxTargetBinding
  44. {
  45. protected SearchFieldView SearchFieldView {
  46. get { return (SearchFieldView)Target; }
  47. }
  48.  
  49. public SearchFieldViewWithSearchFieldBinder (SearchFieldView target)
  50. : base (target)
  51. {
  52.  
  53. }
  54.  
  55. public override void SetValue (object value)
  56. {
  57. //value always is null!
  58. }
  59.  
  60. public override Type TargetType {
  61. get
  62. {
  63. return typeof(SearchField);
  64. }
  65. }
  66.  
  67. public override MvxBindingMode DefaultMode {
  68. get
  69. {
  70. return MvxBindingMode.TwoWay;
  71. }
  72. }
  73. }
  74.  
  75. protected override void FillTargetFactories (Cirrious.MvvmCross.Binding.Bindings.Target.Construction.IMvxTargetBindingFactoryRegistry registry)
  76. {
  77. registry.RegisterCustomBindingFactory<SearchFieldView> (
  78. "SearchField",
  79. indicators => new SearchFieldViewWithSearchFieldBinder(indicators)
  80. );
  81. base.FillTargetFactories (registry);
  82. }
  83.  
  84. var set = this.CreateBindingSet<RecipesFiltersDialog, RecipesFiltersVM>();
  85. set.Bind (_dish).For("SearchField").To (vm => vm.DishField);
  86. set.Bind (_cuisine).For("SearchField").To (vm => vm.CuisineField);
  87. set.Bind (_ingredient).For("SearchField").To (vm => vm.IngredientField);
  88. set.Apply ();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement