Skip to content

Instantly share code, notes, and snippets.

View Char0394's full-sized avatar

Charlin Agramonte Char0394

View GitHub Profile
using System;
using System.Runtime.CompilerServices;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace SalesHub.Framework.Localization
{
[ContentProperty("Text")]
public class LocalizerTranslateExtension : BindableObject, IMarkupExtension<BindingBase>
{
[ContentProperty("Text")]
public class TranslateExtension : IMarkupExtension<bindingbase>
{
public string Text { get; set; }
object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider, ILocalizer localizer)
{
return ProvideValue(serviceProvider, localizer);
}
public BindingBase ProvideValue(IServiceProvider serviceProvider, ILocalizer localizer)
<?xml version="1.0" encoding="UTF-8"?>
<view:BaseProductEntryCardView xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="SalesHub.Framework.Components.Products.ProductEntryTruckLoadForecastCardView"
xmlns:view="clr-namespace:SalesHub.Framework.Components.Products"
VerticalOptions="Start"
xmlns:forms="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms">
<ContentView.ControlTemplate>
<ControlTemplate x:Key="Page">
<?xml version="1.0" encoding="utf-8" ?>
<local:BaseQuickTourPage
xmlns:local="clr-namespace:QuickTourXFSample.Views.QuickTourSteps"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:Controls="clr-namespace:QuickTourXFSample.Controls"
x:Class="QuickTourXFSample.Views.QuickTourSteps.QuickTourStep3PopUp" >
<StackLayout Padding="10,130,10,0">
<Controls:AnimatedView>
<Frame HorizontalOptions="FillAndExpand"
<?xml version="1.0" encoding="utf-8" ?>
<local:BaseQuickTourPage
xmlns:local="clr-namespace:QuickTourXFSample.Views.QuickTourSteps"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:Controls="clr-namespace:QuickTourXFSample.Controls"
x:Class="QuickTourXFSample.Views.QuickTourSteps.QuickTourStep2PopUp" >
<StackLayout>
<Controls:AnimatedView>
<Button Text="Add"
public partial class HomePage : FlyoutPage
{
public ICommand ShowQuickTourCommand { get; }
public HomePage()
{
InitializeComponent();
var quickTourLauncher = QuickTourBuilder<QuickTourStep1PopUp>
.Initialize()
public partial class QuickTourStep1PopUp : BaseQuickTourPage, IQuickTourLauncher
{
public QuickTourStep1PopUp(): base() => InitializeComponent();
public Task LaunchAsync() => PopupNavigation.Instance.PushAsync(this, false);
}
<?xml version="1.0" encoding="utf-8" ?>
<local:BaseQuickTourPage
xmlns:local="clr-namespace:QuickTourXFSample.Views.QuickTourSteps"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:Controls="clr-namespace:QuickTourXFSample.Controls"
x:Class="QuickTourXFSample.Views.QuickTourSteps.QuickTourStep1PopUp" >
<Controls:AnimatedView VerticalOptions="CenterAndExpand">
<Frame Padding="20"
public class QuickTourBuilder<T>
where T : BaseQuickTourPage, IQuickTourLauncher, new()
{
public static QuickTourBuilder<T> Initialize()
=> new QuickTourBuilder<T>(new T());
public QuickTourBuilder<T> Next(BaseQuickTourPage page)
{
_pages.Last().NextPage = page;
public interface IQuickTourLauncher
{
Task LaunchAsync();
}