Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class RecipesFiltersVM : MvxViewModel
- {
- public SearchField DishField { get; private set; }
- public SearchField CuisineField { get; private set; }
- public SearchField IngredientField { get; private set; }
- public RecipesFiltersVM()
- {
- }
- }
- public class SearchField : MvxViewModel
- {
- private String _searchResult;
- public String SearchResult {
- get { return _searchResult; }
- set {
- _searchResult = value;
- RaisePropertyChanged (() => SearchResult);
- UpdateFoundFilters ();
- }
- }
- private ObservableCollection<Filter> _foundFilters;
- public ObservableCollection<Filter> FoundFilters {
- get { return _foundFilters; }
- set {
- _foundFilters = value;
- RaisePropertyChanged (() => FoundFilters);
- }
- }
- public class SearchFieldView : UIView
- {
- public UITextField SearchResult { get { return _searchResult; } }
- private UITextField _searchResult;
- public UITableView FoundFilters { get { return _foundFilters; } }
- private UITableView _foundFilters;
- }
- public class SearchFieldViewWithSearchFieldBinder : MvxTargetBinding
- {
- protected SearchFieldView SearchFieldView {
- get { return (SearchFieldView)Target; }
- }
- public SearchFieldViewWithSearchFieldBinder (SearchFieldView target)
- : base (target)
- {
- }
- public override void SetValue (object value)
- {
- //value always is null!
- }
- public override Type TargetType {
- get
- {
- return typeof(SearchField);
- }
- }
- public override MvxBindingMode DefaultMode {
- get
- {
- return MvxBindingMode.TwoWay;
- }
- }
- }
- protected override void FillTargetFactories (Cirrious.MvvmCross.Binding.Bindings.Target.Construction.IMvxTargetBindingFactoryRegistry registry)
- {
- registry.RegisterCustomBindingFactory<SearchFieldView> (
- "SearchField",
- indicators => new SearchFieldViewWithSearchFieldBinder(indicators)
- );
- base.FillTargetFactories (registry);
- }
- var set = this.CreateBindingSet<RecipesFiltersDialog, RecipesFiltersVM>();
- set.Bind (_dish).For("SearchField").To (vm => vm.DishField);
- set.Bind (_cuisine).For("SearchField").To (vm => vm.CuisineField);
- set.Bind (_ingredient).For("SearchField").To (vm => vm.IngredientField);
- set.Apply ();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement