private View DC2PhoneNumber(EbMobileDataColumn dc, object value)
        {
            EbXLabel label = new EbXLabel(dc)
            {
                Text = dc.GetContent(value)
            };

            label.SetFont(dc.Font, this.IsHeader);
            label.SetTextWrap(dc.TextWrap);

            TapGestureRecognizer gesture = new TapGestureRecognizer();

            gesture.Tapped += (sender, args) => NativeLauncher.OpenDialerAsync(label.Text);
            label.GestureRecognizers.Add(gesture);

            return(label);
        }
        private View DC2Email(EbMobileDataColumn dc, object value)
        {
            EbXLabel label = new EbXLabel(dc)
            {
                Text = dc.GetContent(value)
            };

            label.SetFont(dc.Font, this.IsHeader);
            label.SetTextWrap(dc.TextWrap);

            TapGestureRecognizer gesture = new TapGestureRecognizer();

            gesture.Tapped += async(sender, args) => await NativeLauncher.OpenEmailAsync(value?.ToString());

            label.GestureRecognizers.Add(gesture);

            return(label);
        }
        private View ResolveRenderType(EbMobileDataColumn dc, object value)
        {
            View view;

            switch (dc.RenderAs)
            {
            case DataColumnRenderType.Image:
                view = this.DC2Image(dc, value);
                break;

            case DataColumnRenderType.MobileNumber:
                view = this.DC2PhoneNumber(dc, value);
                break;

            case DataColumnRenderType.Map:
                view = this.DC2Map(dc, value);
                break;

            case DataColumnRenderType.Email:
                view = this.DC2Email(dc, value);
                break;

            case DataColumnRenderType.Audio:
                view = this.DC2Audio(dc, value);
                break;

            default:
                EbXLabel label = new EbXLabel(dc)
                {
                    Text = dc.GetContent(value)
                };
                label.SetFont(dc.Font, this.IsHeader);
                label.SetTextWrap(dc.TextWrap);
                view = label;
                break;
            }
            return(view);
        }