示例#1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            this.Title = "Conferences";

            View = new UIView(UIScreen.MainScreen.Bounds) { BackgroundColor = UIColor.White };

            TableView = new UITableView(UIScreen.MainScreen.Bounds);

            var source = new MvxStandardTableViewSource(
                TableView,
                UITableViewCellStyle.Subtitle,
                CellIdentifier,
                "TitleText Name; DetailText Start",
                UITableViewCellAccessory.DisclosureIndicator
            );

            TableView.Source = source;

            var set = this.CreateBindingSet<ConferencesView, ConferencesViewModel>();
            set.Bind(source).To(vm => vm.Conferences);
            //TODO : Add SelectionChangedCommand binding
            set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.ShowConferenceCommand);
            set.Apply();

            TableView.ReloadData();
        }
示例#2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            View = new UIView() { BackgroundColor = UIColor.White };

            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
                EdgesForExtendedLayout = UIRectEdge.None;

            TableView = new UITableView(UIScreen.MainScreen.Bounds);
            var source = new MvxStandardTableViewSource(
                TableView,
                UITableViewCellStyle.Subtitle,
                CellIdentifier,
                "TitleText Title; DetailText Start"
            );

            TableView.Source = source;

            var set = this.CreateBindingSet<ConferenceView, ConferenceViewModel>();
            set.Bind(source).To(vm => vm.Sessions);
            set.Apply();

            TableView.ReloadData();
        }
示例#3
0
        public override void ViewDidLoad()
        {
            View = new UIView {BackgroundColor = UIColor.White};
            NavigationItem.Title = "Search Movies";

            base.ViewDidLoad ();

            UITextField keywordView = CreateAndAddKeywordView();
            UIButton searchButton = CreateAndAddSearchButton();
            UITableView tableView = CreateAndAddTableView();

            var source = new MvxStandardTableViewSource(tableView, "TitleText title;");
            var bindingSet = this.CreateBindingSet<FirstView, FirstViewModel>();
            bindingSet.Bind(source).To(viewModel => viewModel.Movies);
            bindingSet.Bind(keywordView).To(viewModel => viewModel.Keyword);
            bindingSet.Bind(searchButton).To(viewModel => viewModel.SearchCommand);
            bindingSet.Bind(source).For(x => x.SelectionChangedCommand).To(viewModel => viewModel.ShowDetailCommand);
            bindingSet.Apply();

            tableView.Source = source;
            tableView.ReloadData();

            var responder = new UITapGestureRecognizer (() => keywordView.ResignFirstResponder ());
            responder.CancelsTouchesInView = false;
            View.AddGestureRecognizer(responder);
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
                EdgesForExtendedLayout = UIRectEdge.None;

            var source = new MvxStandardTableViewSource(TableView, UITableViewCellStyle.Subtitle, new NSString("sub"), "TitleText PriceText;ImageUrl ImageUri;DetailText DetailsText", UITableViewCellAccessory.DisclosureIndicator);
            TableView.Source = source;

            var set = this.CreateBindingSet<SearchResultsView, SearchResultsViewModel>();
            set.Bind(source).To(vm => vm.Properties);
            set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.PropertiesSelectedCommand);
            set.Bind(this).For(s => s.Title).To(vm => vm.Title);
            var myFooter = new UIView(new RectangleF(0, 0, 320, 40));

            UIButton loadMoreButton = new UIButton(new RectangleF(0, 0, 320, 40));
            loadMoreButton.SetTitle("Load More", UIControlState.Normal);
            loadMoreButton.SetTitleColor(UIColor.Black, UIControlState.Normal);
            set.Bind(loadMoreButton).To(vm => vm.LoadMoreCommand);
            set.Bind(loadMoreButton).For("Title").To(vm => vm.Title);

            myFooter.Add(loadMoreButton);

            TableView.TableFooterView = myFooter;

            set.Apply();

            TableView.ReloadData();
            ViewModel.WeakSubscribe(PropertyChanged);

            NavigationItem.BackBarButtonItem = new UIBarButtonItem("Results",
                         UIBarButtonItemStyle.Bordered, BackButtonEventHandler);
        }
示例#5
0
        public override void ViewDidLoad()
        {
            View = new UIView { BackgroundColor = UIColor.White };
            base.ViewDidLoad();

            // ios7 layout
            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
               EdgesForExtendedLayout = UIRectEdge.None;

            var textField = new UITextField(new CGRect(10, 10, 240, 40));
            Add(textField);

            var button = UIButton.FromType(UIButtonType.System);
            button.Frame = new CGRect(260, 10, 50, 40);
            button.SetTitle("Search", UIControlState.Normal);
            Add(button);

            var table = new UITableView(new CGRect(0, 50, 320, 430));
            Add(table);
            var source = new MvxStandardTableViewSource(table, "TitleText Title");
            table.Source = source;

            var set = this.CreateBindingSet<FirstView, FirstViewModel>();
            set.Bind(textField).To(vm => vm.MovieName);
            set.Bind(button).To(vm => vm.UpdateCommand);
            set.Bind(source).To(vm => vm.FoundMovies);
            set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.ItemSelectedCommand);
            set.Apply();

            View.AddGestureRecognizer(new UITapGestureRecognizer(() => textField.ResignFirstResponder()) {CancelsTouchesInView = false});
        }
        public override void ViewDidLoad()
        {
            View = new UIView(){ BackgroundColor = UIColor.White};
            base.ViewDidLoad();

            // ios7 layout
            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
                EdgesForExtendedLayout = UIRectEdge.None;

            var textFieldTitle = new UITextField(new RectangleF(10, 10, 300, 30));
            Add(textFieldTitle);
            var picker = new UIPickerView();
            var pickerViewModel = new MvxPickerViewModel(picker);
            picker.Model = pickerViewModel;
            picker.ShowSelectionIndicator = true; 
            textFieldTitle.InputView = picker;

            var textFieldFirstName = new UITextField(new RectangleF(10, 40, 300, 30));
            Add(textFieldFirstName);
            var textFieldLastName = new UITextField(new RectangleF(10, 70, 300, 30));
            Add(textFieldLastName);
            var acceptedLabel = new UILabel(new RectangleF(10, 100, 200, 30));
            acceptedLabel.Text = "Accepted?";
            Add(acceptedLabel);
            var accepted = new UISwitch(new RectangleF(210, 100, 100, 30));
            Add(accepted);
            var add = new UIButton(UIButtonType.RoundedRect);
            add.SetTitle("Add", UIControlState.Normal);
            add.TintColor = UIColor.Purple;
            add.Frame = new RectangleF(10,130,300,30);
            Add(add);

            var table = new UITableView(new RectangleF(10, 160, 300, 300));
            Add(table);
            var source = new MvxStandardTableViewSource(table, "TitleText FirstName");
            table.Source = source;

            var set = this.CreateBindingSet<FirstView, Core.ViewModels.FirstViewModel>();
            set.Bind(textFieldFirstName).To(vm => vm.FirstName);
            set.Bind(textFieldLastName).To(vm => vm.LastName);
            set.Bind(pickerViewModel).For(p => p.ItemsSource).To(vm => vm.Titles);
            set.Bind(pickerViewModel).For(p => p.SelectedItem).To(vm => vm.Title);
            set.Bind(textFieldTitle).To(vm => vm.Title);
            set.Bind(accepted).To(vm => vm.Accepted);
            set.Bind(add).To("Add");
            set.Bind(source).To(vm => vm.People);
            set.Apply();

            var tap = new UITapGestureRecognizer(() =>
                {
                    foreach (var view in View.Subviews)
                    {
                        var text = view as UITextField;
                        if (text != null)
                            text.ResignFirstResponder();
                    }
                });
            View.AddGestureRecognizer(tap);
        }
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();

			var source = new MvxStandardTableViewSource(TableView, "TitleText Title;ImageUrl StripUrl");
			this.CreateBinding(source).To<ListViewModel>(vm => vm.Items).Apply();
			this.CreateBinding(source).For(s => s.SelectionChangedCommand).To<ListViewModel>(vm => vm.ItemSelectedCommand).Apply();
			TableView.Source = source;
			TableView.ReloadData();
		}
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var source = new MvxStandardTableViewSource(TableView, "TitleText Name; SelectedCommand ShowCommand");

            this.CreateBinding(source).To((HomeViewModel vm) => vm.Items).Apply();

            TableView.Source = source;
            TableView.ReloadData();
        }
示例#9
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var source = new MvxStandardTableViewSource(TableView, "TitleText Strip(Name, 'ViewModel')");
            TableView.Source = source;

            var set = this.CreateBindingSet<FirstView, Core.ViewModels.FirstViewModel>();
            set.Bind(source).To(vm => vm.Tests);
            set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.GotoTestCommand);
            set.Apply();
        }
示例#10
0
        public override void ViewDidLoad()
        {
            this.Request = new MvxViewModelRequest<RootViewModel>(null, null, new MvxRequestedBy());
            base.ViewDidLoad ();

            var source = new MvxStandardTableViewSource(TableView, UITableViewCellStyle.Default, new NSString("DataSourceCell"), "TitleText Name");
            TableView.Source = source;

            this.CreateBinding(source).To<RootViewModel>(vm => vm.Items).Apply();

            TableView.ReloadData();
        }
示例#11
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var source = new MvxStandardTableViewSource(TableView, "TitleText Name;ImageUrl ImageUrl");
            TableView.Source = source;

            var set = this.CreateBindingSet<FirstView, FirstViewModel>();
            set.Bind(source).To(vm => vm.Kittens);
            set.Apply();

            TableView.ReloadData();
        }
示例#12
0
        public override void ViewDidLoad() {
            base.ViewDidLoad();
            this.Title = "ACR MvvmCross Plugins";
            var src = new MvxStandardTableViewSource(this.TableView, "TitleText Title");

            var set = this.CreateBindingSet<HomeView, HomeViewModel>();
            set.Bind(src).To(x => x.Menu);
            set.Bind(src).For(x => x.SelectionChangedCommand).To(x => x.View);
            set.Apply();
            
            this.TableView.Source = src;
            this.TableView.ReloadData();
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var source = new MvxStandardTableViewSource(TableView, "TitleText Caption;ImageUrl ImagePath");
            TableView.Source = source;

            var set = this.CreateBindingSet<ListView, ListViewModel>();
            set.Bind(source).To(vm => vm.Items);
            set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.ShowDetailCommand);
            set.Apply();

            TableView.ReloadData();
        }
示例#14
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // ios7 layout
            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
                EdgesForExtendedLayout = UIRectEdge.None;

            var source = new MvxStandardTableViewSource(TableView, "TitleText PhoneNumber");
            TableView.Source = source;

            var set = this.CreateBindingSet<CallHistoryView, CallHistoryViewModel>();
            set.Bind(source).To(vm => vm.PhoneNumbers);
            set.Apply();

            TableView.ReloadData();
        }
示例#15
0
        public override void ViewDidLoad() {
            base.ViewDidLoad();
            this.Title = "Settings";
            var src = new MvxStandardTableViewSource(this.TableView, "TitleText Key; DetailText Value");

            var btnAction = new UIBarButtonItem(UIBarButtonSystemItem.Add);
            this.NavigationItem.RightBarButtonItem = btnAction;

            var set = this.CreateBindingSet<SettingsView, SettingsViewModel>();
            set.Bind(src).To(x => x.Settings);
            set.Bind(src).For(x => x.SelectionChangedCommand).To(x => x.Select);
            set.Bind(btnAction).To(x => x.Actions);
            set.Apply();

            this.TableView.Source = src;
            this.TableView.ReloadData();
        }
示例#16
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            Title = "Friend List";
            NavigationItem.SetRightBarButtonItem(CreateAddFriendButton(), true);

            var source = new MvxStandardTableViewSource(TableView, UITableViewCellStyle.Default,
                new NSString("FriendIdentifier"), "TitleText FullName", UITableViewCellAccessory.DisclosureIndicator);

            TableView.Source = source;

            var set = this.CreateBindingSet<FriendListView, FriendListViewModel>();
            set.Bind(source).To(vm => vm.FriendList);
            set.Bind(source).For(el => el.SelectionChangedCommand).To(vm => vm.SelectedFriendCommand);
            set.Apply();
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // ios7 layout
            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
                EdgesForExtendedLayout = UIRectEdge.None;

            var source = new MvxStandardTableViewSource(TableView, "TitleText Name;ImageUrl ImageUrl");
            TableView.Source = source;

            var set = this.CreateBindingSet<FirstView, FirstViewModel>();
            set.Bind(source).To(vm => vm.Kittens);
            set.Apply();

            TableView.ReloadData();
        }
        public override void ViewDidLoad()
		{
			base.ViewDidLoad ();

			NavigationController.NavigationBarHidden = false;
			var logoutButton = new UIBarButtonItem ("Logout", UIBarButtonItemStyle.Bordered, null);
			NavigationItem.LeftBarButtonItem = logoutButton;

			var addUserButton = new UIBarButtonItem (UIBarButtonSystemItem.Add, (o, e) => {
				var controller = this.CreateViewControllerFor<AddUserViewModel> () as AddUserViewController;
				NavigationController.PushViewController (controller, true);
			});
			NavigationItem.RightBarButtonItem = addUserButton;
          
			var source = new MvxStandardTableViewSource (TableView, UserListCell.Key);

			TableView.Source = source;

			this.SetTitleAndTabBarItem (ViewModel.TabTitle, ViewModel.TabImageName, ViewModel.TabSelectedImageName, ViewModel.TabBadgeValue);
            
			var set = this.CreateBindingSet<UserListViewController, UserListViewModel> ();
			set.Bind (source).To (vm => vm.Users);
			set.Bind (logoutButton).To (vm => vm.LogoutCommand);
			set.Bind (TabBarItem).For (v => v.Title).To (vm => vm.TabTitle);
			set.Bind (TabBarItem).For (v => v.BadgeValue).To (vm => vm.TabBadgeValue);
			//set.Bind(Title).To(vm => vm.TabTitle);
			//set.Bind(NavigationItem).For(v => v.Title).To(vm => vm.TabTitle);            
			set.Apply ();

			source.SelectedItemChanged += (object sender, EventArgs e) => {
				var controller = this.CreateViewControllerFor<UserDetailViewModel> (new
					{
						jsonUser = JsonConvert.SerializeObject(source.SelectedItem as User)
					}) as UserDetailViewController;
				NavigationController.PushViewController (controller, true);
				//var forceLoadView = controller.View; // force load view so we get ViewDidLoad and ViewModel initialized.
				//controller.ViewModel.User = source.SelectedItem as User;
			};

			// Data is fetched after
			TableView.ReloadData ();

			RegisterSubscriptions ();
			//ViewModel.Users.CollectionChanged += (object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) => TableView.ReloadData ();
		}
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            UIBarButtonItem newProjectButton = new UIBarButtonItem(UIBarButtonSystemItem.Add);
            NavigationItem.RightBarButtonItem = newProjectButton;

            var source = new MvxStandardTableViewSource(TableView, UITableViewCellStyle.Default, new NSString("cell"), "TitleText Name");
            TableView.Source = source;

            var set = this.CreateBindingSet<ProjectsView, Core.ViewModels.ProjectsViewModel>();

            set.Bind(newProjectButton).To(vm => vm.CreateProjectCommand);
            set.Bind(source).To(vm => vm.Projects);
            set.Bind(source).For(ui => ui.SelectionChangedCommand).To(vm => vm.SelectProjectCommand);

            set.Apply();
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // ios7 layout
            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
                EdgesForExtendedLayout = UIRectEdge.None;

            var source = new MvxStandardTableViewSource(TableView, "TitleText Caption;ImageUrl ImagePath");
            TableView.Source = source;

            var set = this.CreateBindingSet<ListView, ListViewModel>();
            set.Bind(source).To(vm => vm.Items);
            set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.ShowDetailCommand);
            set.Apply();

            TableView.ReloadData();
        }
示例#21
0
		public override void ViewDidLoad()
		{
			base.ViewDidLoad();

			// ios7 layout
			if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
				EdgesForExtendedLayout = UIRectEdge.None;

			var source = new MvxStandardTableViewSource(TableView, "TitleText Name");
			TableView.Source = source;

			var set = this.CreateBindingSet<ConferencesView, ConferencesViewModel>();
			set.Bind(source).To(vm => vm.Conferences);
			//set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.ShowDetailCommand);
			set.Apply();
			(this.DataContext as ConferencesViewModel).Init ();
			TableView.ReloadData();
		}
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();
			var source = new MvxStandardTableViewSource (TableView);

			var set = this.CreateBindingSet<MainView,MainViewModel> ();
			set.Bind (source).To (vm => vm.Titles);
			set.Bind (source).For (s => s.SelectionChangedCommand).To (vm => vm.ItemSelectedCommand);
			set.Apply ();

			TableView.Source = source;
			TableView.ReloadData ();

			Title = "Material Design Demo";

			NavigationController.NavigationBar.Translucent = false;
			// Perform any additional setup after loading the view, typically from a nib.
		}
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
                EdgesForExtendedLayout = UIRectEdge.None;

            var source = new MvxStandardTableViewSource(TableView, UITableViewCellStyle.Subtitle, new NSString("sub"), "TitleText PriceText;ImageUrl ImageUri;DetailText DetailsText", UITableViewCellAccessory.DisclosureIndicator);
            TableView.Source = source;

            var set = this.CreateBindingSet<FavouritesView, FavouritesViewModel>();
            set.Bind(source).To(vm => vm.Properties);
            set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.FavouritesSelectedCommand);
            Title = "Favourites";

            set.Apply();

            TableView.ReloadData();
        }
示例#24
0
        public override void ViewDidLoad()
        {
            View = new UniversalView();

            base.ViewDidLoad();

            // Perform any additional setup after loading the view
            var textbox1 = new UITextField(new RectangleF(0, 0, 320, 50));
            Add(textbox1);
            var table = new UITableView(new RectangleF(0, 50, 320, 550));
            Add(table);
            var source = new MvxStandardTableViewSource(table, "TitleText Name; ImageUrl ImageUrl");
            table.Source = source;

            this.CreateBinding(textbox1).To<SecondViewModel>(vm => vm.Filter).Apply();
            this.CreateBinding(source).To<SecondViewModel>(vm => vm.Kittens).Apply();

            table.ReloadData();
        }
        public override void ViewDidLoad() {
            base.ViewDidLoad();
            this.Title = "MVX Signatures";

            var btnAdd = new UIBarButtonItem(UIBarButtonSystemItem.Add);
            var btnConfig = new UIBarButtonItem(UIBarButtonSystemItem.Edit);
            this.NavigationItem.RightBarButtonItems = new [] { btnAdd, btnConfig };

            var src = new MvxStandardTableViewSource(this.TableView, "TitleText Name");

            var set = this.CreateBindingSet<SignatureListView, SignatureListViewModel>();
            set.Bind(src).To(x => x.List);
            set.Bind(src).For(x => x.SelectionChangedCommand).To(x => x.View);
            set.Bind(btnAdd).To(x => x.Create);
            set.Bind(btnConfig).To(x => x.Configure);
            set.Apply();

            this.TableView.Source = src;
            this.TableView.ReloadData();
        }
示例#26
0
        public override void ViewDidLoad()
        {
            View = new UIView { BackgroundColor = UIColor.White };
            base.ViewDidLoad();

            // ios7 layout
            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
            {
                EdgesForExtendedLayout = UIRectEdge.None;
            }

            var source = new MvxStandardTableViewSource(TableView, "TitleText Name;ImageUrl Image");
            TableView.Source = source;

            var set = this.CreateBindingSet<FirstView, FirstViewModel>();
            set.Bind(source).To(vm => vm.Montaditos);
            set.Apply();

            TableView.ReloadData();
        }
示例#27
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            this.Title = "Route Details";

            // ios7 layout
            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
            {
                EdgesForExtendedLayout = UIRectEdge.None;
            }

            var source = new MvxStandardTableViewSource(TableView, UITableViewCellStyle.Subtitle, new NSString("cell"), "TitleText Name");
            TableView.Source = source;

            var set = this.CreateBindingSet<RouteView, RouteViewModel>();
            set.Bind(source).To(vm => vm.Roads);
            set.Apply();

            TableView.ReloadData();
        }
示例#28
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            this.Title = "AlphanumericOz";

            // ios7 layout
            if (RespondsToSelector(new Selector("edgesForExtendedLayout")))
            {
                EdgesForExtendedLayout = UIRectEdge.None;
            }

            var source = new MvxStandardTableViewSource(TableView, UITableViewCellStyle.Subtitle, new NSString("cell"), "TitleText RouteNumber;DetailText RouteClassification;ImageUrl Image");
            TableView.Source = source;

            var set = this.CreateBindingSet<MainView, MainViewModel>();
            set.Bind(source).To(vm => vm.Routes);
            set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.ViewRouteCommand);
            set.Apply();

            TableView.ReloadData();
        }
示例#29
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // Perform any additional setup after loading the view
            if (ViewModel != null && ViewModel is ContactListViewModel)
            {
                ((ContactListViewModel)ViewModel).DoRefreshListCommand();
                this.Title = ((ContactListViewModel)ViewModel).BigTitle;
            }

            // Standard uses one of the 4 basic generic iOS templates. Gives a standard cell for every item in the list.
            var source = new MvxStandardTableViewSource(TableView, "TitleText LastName");
            TableView.Source = source;

            var set = this.CreateBindingSet<ContactListView, ContactListViewModel>();
            set.Bind(source).To(vm => vm.Contacts);
            set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.ShowContactCommand);
            set.Apply();

            TableView.ReloadData();
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

			Title = "Best Sellers";
			
			var source = new MvxStandardTableViewSource(
				TableView,
                UITableViewCellStyle.Default,
                new NSString("CategoryListView"),
				"TitleText DisplayName;SelectedCommand ShowCategoryCommand",
                UITableViewCellAccessory.DisclosureIndicator);
			
            this.AddBindings(
                new Dictionary<object, string>()
                    {
                        { source, "ItemsSource List" }
                    });

            TableView.Source = source;
            TableView.ReloadData();
        }