コード例 #1
0
        public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
        {
            tableView.DeselectRow(indexPath, true);

            for (int i = 0; i < tableView.NumberOfRowsInSection(0); i++)
            {
                UITableViewCell cell  = tableView.CellAt(NSIndexPath.FromItemSection(i, 0));
                var             field = StringsResources.MenuFields().Find((obj) => obj.Row == i);
                if (field.Type == FieldType.MenuItemSocial ||
                    field.Type == FieldType.Header)
                {
                    continue;
                }

                if (cell != null)
                {
                    if (cell?.TextLabel?.TextColor != Colors.White)
                    {
                        SetCellColor(cell, Colors.White);
                    }
                }
            }

            var cellAtIndex = tableView.CellAt(indexPath);

            SetCellColor(cellAtIndex, Colors.Color4);

            var item = StringsResources.MenuFields().Find((obj) => obj.Row == indexPath.Row);
            var type = (MenuType)Enum.ToObject(typeof(MenuType), item.ActionType);

            switch (type)
            {
            case MenuType.Home:
                _viewModel.ShowHomeCommand.Execute();
                break;

            case MenuType.HelpAndFeedback:
                _viewModel.ShowHelpCommand.Execute();
                break;

            case MenuType.Button:
                break;

            case MenuType.Settings:
                _viewModel.ShowSettingCommand.Execute();
                break;

            case MenuType.Logout:
                _viewModel.ShowLoginCommand.Execute();
                break;
            }

            _selectedIndex = indexPath;
        }
コード例 #2
0
        private UITableView CreateMenu()
        {
            var frame = View.Frame;

            frame.Width = frame.Width - 75;
            _tableView  = new UITableView(frame)
            {
                ShowsHorizontalScrollIndicator = false,
                AutoresizingMask = UIViewAutoresizing.FlexibleHeight
            };
            _tableView.SetTableStyle(Colors.Color2, true);
            var source = new MenuTableSource(_tableView, ViewModel);

            _tableView.Source  = source;
            source.ItemsSource = StringsResources.MenuFields();

            return(_tableView);
        }