public SettingsPage() : base(typeof(SettingsViewModel), typeof(SettingsContentUI)) { BackgroundColor = (Color)App.Current.Resources[MainStyles.MainBackgroundColor]; var appBar = new TitleBar(this, TitleBar.BarBtnEnum.bbBack) { BarColor = (Color)App.Current.Resources[MainStyles.MainBackgroundColor], TitleStyle = (Style)App.Current.Resources[LabelStyles.PageTitleStyle] }; appBar.SetBinding(TitleBar.TitleProperty, "Title"); appBar.BtnBack.BackgroundColor = Color.Transparent; appBar.BtnBack.Source = contentUI.IconBack; ContentLayout.Children.Add(appBar); var stackSettings = new StackLayout { Spacing = Device.OnPlatform(6, 6, 32), Padding = new Thickness(32) }; #region Language setting var txtLangTitle = new LabelExtended { Style = (Style)App.Current.Resources[LabelStyles.SettingStyle] }; txtLangTitle.SetBinding(Label.TextProperty, "CurrLanguageTitle"); var txtLangValue = new LabelExtended { Style = (Style)App.Current.Resources[LabelStyles.SettingHintStyle] }; txtLangValue.SetBinding(Label.TextProperty, "CurrLanguageName"); var stackLang = new StackLayout { Children = { txtLangTitle, txtLangValue } }; var viewGesturesLang = new ViewGestures { Content = stackLang, DeformationValue = -5, }; viewGesturesLang.BackgroundColor = this.BackgroundColor; viewGesturesLang.Tap += viewModel.LangSetting_Click; stackSettings.Children.Add(viewGesturesLang); #endregion if (Device.OS == TargetPlatform.WinPhone) { #region Map setting var txtMapTitle = new LabelExtended { Style = (Style)App.Current.Resources[LabelStyles.SettingStyle] }; txtMapTitle.SetBinding(Label.TextProperty, "MapTitle"); var txtMapValue = new LabelExtended { Style = (Style)App.Current.Resources[LabelStyles.SettingHintStyle] }; txtMapValue.SetBinding(Label.TextProperty, "MapName"); var stackMap = new StackLayout { Children = { txtMapTitle, txtMapValue } }; var viewGesturesMap = new ViewGestures { Content = stackMap, DeformationValue = -5, }; viewGesturesMap.BackgroundColor = this.BackgroundColor; viewGesturesMap.Tap += viewModel.MapSetting_Click; stackSettings.Children.Add(viewGesturesMap); #endregion } ContentLayout.Children.Add(stackSettings); }
public BranchInfoViewTemplate(ListView parentListView, DiscountDetailContentUI parentContentUI, DiscountDetailViewModel parentViewModel) { IsHighlightSelection = false; var stackBranch = new StackLayout { Padding = new Thickness(18, 0), VerticalOptions = LayoutOptions.FillAndExpand }; #region Location Grid gridLocation = new Grid { RowDefinitions = { new RowDefinition { Height = GridLength.Auto } }, ColumnDefinitions = { new ColumnDefinition { Width = GridLength.Auto }, new ColumnDefinition { Width = GridLength.Auto }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } } }; var txtDistanceValue = new Label { VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Start, Style = (Style)App.Current.Resources[LabelStyles.DetailDistanceStyle] }; txtDistanceValue.SetBinding(Label.TextProperty, "Distance"); var distanceLabel = new StackLayout { VerticalOptions = LayoutOptions.Center, Spacing = 0, Children = { new Image { Source = parentContentUI.ImgDistance }, new Label { Text = parentContentUI.TxtDistanceScaleValue, Style = (Style)App.Current.Resources[LabelStyles.DescriptionStyle] } } }; gridLocation.Children.Add(txtDistanceValue, 0, 0); gridLocation.Children.Add(distanceLabel, 1, 0); var txtPartnerAddress = new Label { VerticalOptions = LayoutOptions.CenterAndExpand, Style = (Style)App.Current.Resources[LabelStyles.DescriptionStyle] }; txtPartnerAddress.SetBinding(Label.TextProperty, "Address"); var txtShowOnMap = new LabelExtended { Text = parentContentUI.TxtShowOnMap, Style = (Style)App.Current.Resources[LabelStyles.LinkStyle], IsUnderline = true }; var locationLayout = new StackLayout { VerticalOptions = LayoutOptions.Center, Spacing = 0, Children = { txtPartnerAddress, txtShowOnMap } }; var viewGesturesShowOnMap = new ViewGestures { Content = locationLayout, DeformationValue = -5, }; viewGesturesShowOnMap.BackgroundColor = (Color)App.Current.Resources[MainStyles.MainLightBackgroundColor]; viewGesturesShowOnMap.Tap += parentViewModel.ShowOnMap_Click; viewGesturesShowOnMap.SetBinding(ViewGestures.TagProperty, "DocumentId"); gridLocation.Children.Add(viewGesturesShowOnMap, 2, 0); stackBranch.Children.Add(gridLocation); #endregion #region Phone list var stackPhoneView = new StackLayout { Padding = Device.OnPlatform(new Thickness(0, 4), new Thickness(0, 4), new Thickness(0, 4, -8, 4)), }; #region phone1 var phone1 = CreateCallButton(parentContentUI, "Phone1"); phone1.SetBinding(BorderBox.TagProperty, "Phone1"); var viewGesturesPhone1 = new ViewGestures { Content = phone1, DeformationValue = -5, }; viewGesturesPhone1.SetBinding(ViewGestures.IsVisibleProperty, "IsPhone1FillIn"); viewGesturesPhone1.BackgroundColor = (Color)App.Current.Resources[MainStyles.MainLightBackgroundColor]; viewGesturesPhone1.Tap += parentViewModel.BtnCall_Click; stackPhoneView.Children.Add(viewGesturesPhone1); #endregion #region phone2 var phone2 = CreateCallButton(parentContentUI, "Phone2"); phone2.SetBinding(BorderBox.TagProperty, "Phone2"); var viewGesturesPhone2 = new ViewGestures { Content = phone2, DeformationValue = -5, }; viewGesturesPhone2.SetBinding(ViewGestures.IsVisibleProperty, "IsPhone2FillIn"); viewGesturesPhone2.BackgroundColor = (Color)App.Current.Resources[MainStyles.MainLightBackgroundColor]; viewGesturesPhone2.Tap += parentViewModel.BtnCall_Click; stackPhoneView.Children.Add(viewGesturesPhone2); #endregion stackBranch.Children.Add(stackPhoneView); #endregion View = stackBranch; }
public DiscountTemplate(ListViewAnimation parentListView, int rowHeight) { SelectColor = (Color)App.Current.Resources[MainStyles.ListSelectColor]; Grid gridDiscountItem = new Grid { Padding = new Thickness (10), BackgroundColor = (Color)App.Current.Resources[MainStyles.ListBackgroundColor], RowDefinitions = { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(2, GridUnitType.Star) } }, ColumnDefinitions = { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star)}, new ColumnDefinition { Width = new GridLength(4, GridUnitType.Star)} } }; var fileNameConverter = new FileNameToImageConverter(); // Company logo var imgCompanyLogo = new ImageExtended { WidthRequest = Device.OnPlatform(64, 64, 64), HeightRequest = Device.OnPlatform(64, 64, 64), Aspect = Aspect.AspectFit, }; imgCompanyLogo.SetBinding(Image.SourceProperty, new Binding("LogoFileName", BindingMode.Default, fileNameConverter)); var stackCompanyLogo = new StackLayout { VerticalOptions = LayoutOptions.Center, Children = { imgCompanyLogo } }; gridDiscountItem.Children.Add(stackCompanyLogo, 0, 1, 0, 2); // Header Grid headerLayout = new Grid { Padding = new Thickness(2, 0, 0, 0), RowDefinitions = { new RowDefinition { Height = GridLength.Auto } }, ColumnDefinitions = { new ColumnDefinition { Width = new GridLength(3, GridUnitType.Star)}, new ColumnDefinition { Width = GridLength.Auto }//new GridLength(1, GridUnitType.Star)}, } }; // Title var txtTitle = new Label { VerticalOptions = LayoutOptions.End, Style = (Style)App.Current.Resources[LabelStyles.ListTitleStyle] }; txtTitle.SetBinding(Label.TextProperty, "Name"); headerLayout.Children.Add(txtTitle, 0, 0); #region Percent label var txtPercent = new Label { Style = (Style)App.Current.Resources[LabelStyles.ListPercentStyle], VerticalOptions = LayoutOptions.End }; txtPercent.SetBinding(Label.TextProperty, "DiscountPercent"); var percentLayout = new StackLayout { Spacing = 0, Orientation = StackOrientation.Horizontal, Children = { txtPercent, new Label { Style = (Style)App.Current.Resources[LabelStyles.ListPercentSymbolStyle], VerticalOptions = LayoutOptions.End } } }; #endregion #region Category layout var txtCategory = new Label { Style = (Style)App.Current.Resources[LabelStyles.CategoryStyle], VerticalOptions = LayoutOptions.CenterAndExpand, HorizontalOptions = LayoutOptions.CenterAndExpand }; txtCategory.SetBinding(Label.TextProperty, "FirstCategoryName"); txtCategory.SetBinding(BackgroundColorProperty, "FirstCategoryColor"); var categoryLayout = new StackLayout { Padding = Device.OnPlatform(new Thickness(4), new Thickness(4), new Thickness(6)), VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, Children = { txtCategory } }; categoryLayout.SetBinding(BackgroundColorProperty, "FirstCategoryColor"); var txtCategoryMore = new Label { Text = "...", Style = (Style)App.Current.Resources[LabelStyles.CategoryStyle], VerticalOptions = LayoutOptions.CenterAndExpand, HorizontalOptions = LayoutOptions.CenterAndExpand }; txtCategory.SetBinding(BackgroundColorProperty, "FirstCategoryColor"); var stackCategoryMore = new StackLayout { Padding = Device.OnPlatform(new Thickness(4), new Thickness(4), new Thickness(6)), VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, Children = { txtCategoryMore } }; stackCategoryMore.SetBinding(BackgroundColorProperty, "FirstCategoryColor"); stackCategoryMore.SetBinding(IsVisibleProperty, "IsCategoryMore"); #endregion var infoDiscountLayout = new StackLayout { Orientation = StackOrientation.Horizontal, Children = { percentLayout, categoryLayout, stackCategoryMore } }; headerLayout.Children.Add(infoDiscountLayout, 1, 0); gridDiscountItem.Children.Add(headerLayout, 1, 2, 0, 1); #region Description var txtDescription = new LabelExtended { IsWrapped = true, Style = (Style)App.Current.Resources[LabelStyles.DescriptionStyle], }; txtDescription.GestureRecognizers.Clear(); txtDescription.SetBinding(LabelExtended.TextProperty, new Binding("Description", BindingMode.Default, new TextHeightLimitation())); var layoutDescription = new RelativeLayout(); layoutDescription.Children.Add(txtDescription, Constraint.Constant(2), Constraint.Constant(0), Constraint.RelativeToParent(parent => { return parent.Width - 2; }), Constraint.RelativeToParent(parent => { return parent.Height; })); gridDiscountItem.Children.Add(layoutDescription, 1, 2, 1, 2); #endregion var boxBorder = new BorderBox { Padding = new Thickness(8, 4), HeightRequest = rowHeight - 16, }; boxBorder.BorderColor = (Color)App.Current.Resources[MainStyles.ListBorderColor]; boxBorder.BorderWidth = 1; boxBorder.Content = gridDiscountItem; var layout = new AbsoluteLayout { Padding = new Thickness (8, 4), }; parentListView.AnimationListAdd(layout); AbsoluteLayout.SetLayoutFlags(boxBorder, AbsoluteLayoutFlags.All); AbsoluteLayout.SetLayoutBounds(boxBorder, new Rectangle(0f, 0f, 1f, 1f)); layout.Children.Add(boxBorder); View = layout; }
public DiscountDetailPage(string discountID) : base(typeof(DiscountDetailViewModel), typeof(DiscountDetailContentUI)) { viewModel.SetDiscount(discountID); var fileNameConverter = new FileNameToImageConverter(); BackgroundColor = (Color)App.Current.Resources[MainStyles.MainLightBackgroundColor]; var mainLayout = new AbsoluteLayout(); var appBar = new TitleBar(this, TitleBar.BarBtnEnum.bbBack) { BarColor = Color.Transparent, }; appBar.BoxPadding.BackgroundColor = (Color)App.Current.Resources[MainStyles.StatusBarColor]; appBar.BoxPadding.Opacity = 0.9; appBar.BtnBack.BackgroundColor = (Color)App.Current.Resources[MainStyles.StatusBarColor]; appBar.BtnBack.Opacity = 0.9; appBar.BtnBack.Source = contentUI.IconBack; discountLayout = new StackLayout { Spacing = Device.OnPlatform(0, 0, 4), }; #region Photo var imageLayout = new RelativeLayout { HeightRequest = Device.OnPlatform(200, 200, 240) }; var imgPhoto = new Image { Aspect = Aspect.AspectFill, }; imgPhoto.SetBinding(Image.SourceProperty, new Binding("ImageFileName", BindingMode.Default, fileNameConverter)); //imgPhoto.SetBinding(Image.SourceProperty, new Binding("ImgPhoto", BindingMode.Default, new FileStreamToImageSource(), FileStreamToImageSource.SizeImage.siBig)); imageLayout.Children.Add(imgPhoto, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => { return parent.Width; }), Constraint.RelativeToParent(parent => { return parent.Height; }) ); #endregion #region Label percent int sizeImgLabel = Device.OnPlatform(60, 60, 80); var imgLabel = new Image { HeightRequest = sizeImgLabel, WidthRequest = sizeImgLabel, Source = contentUI.ImgPercentLabel }; var labelLayout = new AbsoluteLayout(); AbsoluteLayout.SetLayoutFlags(imgLabel, AbsoluteLayoutFlags.All); AbsoluteLayout.SetLayoutBounds(imgLabel, new Rectangle(0f, 0f, 1f, 1f)); labelLayout.Children.Add(imgLabel); imageLayout.Children.Add(labelLayout, Constraint.RelativeToParent(parent => { return parent.Width - sizeImgLabel - 5; }), Constraint.RelativeToView(imgPhoto, (parent, sibling) => { return sibling.Y + sibling.Height - sizeImgLabel - 5; })); // Percent var txtPercent = new Label { Style = (Style)App.Current.Resources[LabelStyles.LabelPercentStyle] }; txtPercent.SetBinding(Label.TextProperty, "DiscountPercent"); var percentLayout = new StackLayout { Spacing = 0, Orientation = StackOrientation.Horizontal, Children = { txtPercent, new Label { Style = (Style)App.Current.Resources[LabelStyles.LabelPercentSymbolStyle], VerticalOptions = LayoutOptions.End } } }; percentLayout.Rotation = -15; AbsoluteLayout.SetLayoutFlags(percentLayout, AbsoluteLayoutFlags.PositionProportional); AbsoluteLayout.SetLayoutBounds(percentLayout, new Rectangle(0.6, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize) ); labelLayout.Children.Add(percentLayout); discountLayout.Children.Add(imageLayout); #endregion #region Header Grid gridHeader = new Grid { VerticalOptions = LayoutOptions.Start, Padding = new Thickness(10), RowDefinitions = { new RowDefinition { Height = GridLength.Auto } }, ColumnDefinitions = { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(4, GridUnitType.Star) } } }; #region Company logo var imgCompanyLogo = new Image { WidthRequest = Device.OnPlatform(64, 64, 64), HeightRequest = Device.OnPlatform(64, 64, 64), Aspect = Aspect.AspectFit }; imgCompanyLogo.SetBinding(Image.SourceProperty, new Binding("LogoFileName", BindingMode.Default, fileNameConverter)); //imgCompanyLogo.SetBinding(Image.SourceProperty, new Binding("ImgLogo", BindingMode.Default, new FileStreamToImageSource(), FileStreamToImageSource.SizeImage.siSmall)); var stackCompanyLogo = new StackLayout { VerticalOptions = LayoutOptions.Center, Children = { imgCompanyLogo } }; gridHeader.Children.Add(stackCompanyLogo, 0, 0); #endregion #region Category list var stackCategories = new StackLayout { Spacing = 10, Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.End }; for (var i = 0; i < viewModel.CategoriesCount; i++) { var txtCategory = new Label { Style = (Style)App.Current.Resources[LabelStyles.CategoryStyle] }; txtCategory.Text = viewModel.CategoryIndexName(i); txtCategory.BackgroundColor = viewModel.CategoryIndexColor(i); var categoryLayout = new StackLayout { Padding = Device.OnPlatform(new Thickness(4), new Thickness(4), new Thickness(6)), VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.End, Children = { txtCategory } }; categoryLayout.BackgroundColor = viewModel.CategoryIndexColor(i); stackCategories.Children.Add(categoryLayout); } #endregion var titleDetailLayout = new StackLayout { Padding = new Thickness (2, 0, 0, 0), Spacing = Device.OnPlatform(0, 0, 4), HorizontalOptions = LayoutOptions.FillAndExpand }; titleDetailLayout.Children.Add(stackCategories); #region Name company var txtPartnerName = new Label { Style = (Style)App.Current.Resources[LabelStyles.DetailTitleStyle], HorizontalOptions = LayoutOptions.Start }; txtPartnerName.SetBinding(Label.TextProperty, "NameCompany"); titleDetailLayout.Children.Add(txtPartnerName); #endregion #region Url address var txtUrlAddress = new LabelExtended { Style = (Style)App.Current.Resources[LabelStyles.LinkStyle], TextColor = Color.FromHex("777"), HorizontalOptions = LayoutOptions.Start }; txtUrlAddress.SetBinding(Label.TextProperty, "UrlAddress"); var viewGesturesURL = new ViewGestures { Content = txtUrlAddress, DeformationValue = -5, }; viewGesturesURL.BackgroundColor = this.BackgroundColor; viewGesturesURL.Tap += viewModel.txtUrlAddress_Click; titleDetailLayout.Children.Add(viewGesturesURL); #endregion gridHeader.Children.Add(titleDetailLayout, 1, 0); discountLayout.Children.Add(gridHeader); #endregion #region Description var txtDescription = new Label { Style = (Style)App.Current.Resources[LabelStyles.DescriptionStyle], LineBreakMode = LineBreakMode.WordWrap }; txtDescription.SetBinding(Label.TextProperty, "Description"); var descriptionLayout = new StackLayout { Padding = new Thickness(18, 0), Children = { txtDescription } }; discountLayout.Children.Add(descriptionLayout); #endregion discountLayout.VerticalOptions = LayoutOptions.Start; var scrollDiscount = new ScrollView { VerticalOptions = LayoutOptions.Start, Content = discountLayout, HeightRequest = Device.OnPlatform(600, 600, -1), }; mainLayout.VerticalOptions = LayoutOptions.StartAndExpand ; AbsoluteLayout.SetLayoutFlags(scrollDiscount, AbsoluteLayoutFlags.All); AbsoluteLayout.SetLayoutBounds(scrollDiscount, new Rectangle(0f, 0f, 1f, 1f)); mainLayout.Children.Add(scrollDiscount); AbsoluteLayout.SetLayoutFlags(appBar, AbsoluteLayoutFlags.PositionProportional); AbsoluteLayout.SetLayoutBounds(appBar, new Rectangle(0, 0, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize)); mainLayout.Children.Add(appBar); ContentLayout.Children.Add(mainLayout); if (Device.OS == TargetPlatform.iOS) InitBranchListView(); }
public AboutPage() : base(typeof(AboutViewModel), typeof(AboutContentUI)) { BackgroundColor = (Color)App.Current.Resources[MainStyles.MainBackgroundColor]; var appBar = new TitleBar(this, TitleBar.BarBtnEnum.bbBack) { BarColor = (Color)App.Current.Resources[MainStyles.StatusBarColor] }; appBar.BtnBack.BackgroundColor = Color.Transparent; appBar.BtnBack.Source = contentUI.IconBack; ContentLayout.Children.Add(appBar); #region Logo var imgLogo = new Image { Source = contentUI.ImgLogo, HeightRequest = Device.OnPlatform(-1, -1, 150), }; #endregion #region Description info var txtDescription = new Label { Text = contentUI.TxtDescription, Style = (Style)App.Current.Resources[LabelStyles.DescriptionLightStyle], }; var txtDescriptionBullet1 = new Label { Text = contentUI.TxtDescriptionBullet1, Style = (Style)App.Current.Resources[LabelStyles.DescriptionLightStyle], }; var stackDescriptionBullet1 = new StackLayout { Padding = new Thickness(12, 0, 0, 0), Orientation = StackOrientation.Horizontal, Children = { new Label { VerticalOptions = LayoutOptions.Start, Text = contentUI.TxtDescriptionBulletSymbol, Style = (Style)App.Current.Resources[LabelStyles.DescriptionLightStyle], }, new Label { Text = contentUI.TxtDescriptionBullet1, Style = (Style)App.Current.Resources[LabelStyles.DescriptionLightStyle], }, } }; var stackDescriptionBullet2 = new StackLayout { Padding = new Thickness(12, 0, 0, 0), Orientation = StackOrientation.Horizontal, Children = { new Label { VerticalOptions = LayoutOptions.Start, Text = contentUI.TxtDescriptionBulletSymbol, Style = (Style)App.Current.Resources[LabelStyles.DescriptionLightStyle], }, new Label { Text = contentUI.TxtDescriptionBullet2, Style = (Style)App.Current.Resources[LabelStyles.DescriptionLightStyle], }, } }; var stackDescriptionBullet3 = new StackLayout { Padding = new Thickness(12, 0, 0, 0), Orientation = StackOrientation.Horizontal, Children = { new Label { VerticalOptions = LayoutOptions.Start, Text = contentUI.TxtDescriptionBulletSymbol, Style = (Style)App.Current.Resources[LabelStyles.DescriptionLightStyle], }, new Label { Text = contentUI.TxtDescriptionBullet3, Style = (Style)App.Current.Resources[LabelStyles.DescriptionLightStyle], }, } }; var stackDescription = new StackLayout { Children = { txtDescription, stackDescriptionBullet1, stackDescriptionBullet2, stackDescriptionBullet3 } }; //because apple might reject application if (Device.OS != TargetPlatform.iOS) { var txtDescriptionLink = new LabelExtended { Text = contentUI.TxtDescriptionLink, Style = (Style)App.Current.Resources[LabelStyles.LinkStyle], TextColor = (Color)App.Current.Resources[MainStyles.LightTextColor], LineBreakMode = LineBreakMode.WordWrap, IsUnderline = true }; var viewGesturesLink = new ViewGestures { Content = txtDescriptionLink, DeformationValue = -5, }; viewGesturesLink.BackgroundColor = this.BackgroundColor; viewGesturesLink.Tap += viewModel.txtLink_Click; stackDescription.Children.Add(viewGesturesLink); } #endregion #region Version info var txtTitleVersion = new Label { Text = contentUI.TitleVersion, Style = (Style)App.Current.Resources[LabelStyles.DescriptionStyle], TextColor = (Color)App.Current.Resources[MainStyles.LightTextColor], Opacity = 0.5 }; var txtNumberVersion = new Label { Text = contentUI.TxtVersionValue, Style = (Style)App.Current.Resources[LabelStyles.DescriptionLightStyle], }; var stackVersion = new StackLayout { Children = { txtTitleVersion, txtNumberVersion } }; #endregion #region Developer info var stackDeveloper = new StackLayout(); var txtTitleDeveloper = new Label { Text = contentUI.TitleDeveloper, Style = (Style)App.Current.Resources[LabelStyles.DescriptionStyle], TextColor = (Color)App.Current.Resources[MainStyles.LightTextColor], Opacity = 0.5 }; stackDeveloper.Children.Add(txtTitleDeveloper); var txtPhone = new LabelExtended { Text = String.Format("{0}: {1}", contentUI.TxtPhone, contentUI.TxtPhoneValue), Style = (Style)App.Current.Resources[LabelStyles.DescriptionStyle], TextColor = (Color)App.Current.Resources[MainStyles.LightTextColor] }; var viewGesturesPhone = new ViewGestures { Content = txtPhone, DeformationValue = -5, }; viewGesturesPhone.BackgroundColor = this.BackgroundColor; viewGesturesPhone.Tap += viewModel.txtPhone_Click; stackDeveloper.Children.Add(viewGesturesPhone); var txtEmail = new Label { Text = String.Format("{0}: {1}", contentUI.TxtEmail, contentUI.TxtEmailValue), Style = (Style)App.Current.Resources[LabelStyles.DescriptionStyle], TextColor = (Color)App.Current.Resources[MainStyles.LightTextColor] }; stackDeveloper.Children.Add(txtEmail); var txtHttp = new LabelExtended { Text = contentUI.TxtHttpValue, Style = (Style)App.Current.Resources[LabelStyles.LinkStyle], TextColor = (Color)App.Current.Resources[MainStyles.LightTextColor], IsUnderline = true }; var viewGesturesHTTP = new ViewGestures { Content = txtHttp, DeformationValue = -5, }; viewGesturesHTTP.BackgroundColor = this.BackgroundColor; viewGesturesHTTP.Tap += viewModel.txtLink_Click; stackDeveloper.Children.Add(viewGesturesHTTP); #endregion var stackAbout = new StackLayout { Padding = new Thickness(24), Spacing = 20, Children = { imgLogo, stackDescription, stackVersion, stackDeveloper } }; var scrollAbout = new ScrollView { Content = stackAbout }; ContentLayout.Children.Add(scrollAbout); }