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); }