complete basic report page
This commit is contained in:
@ -62,4 +62,6 @@ namespace Billing.UI
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class BlurryPanel : ContentView { }
|
||||
}
|
70
Billing.Shared/UI/SegmentedControl.cs
Normal file
70
Billing.Shared/UI/SegmentedControl.cs
Normal file
@ -0,0 +1,70 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Billing.UI
|
||||
{
|
||||
public class SegmentedControl : View, IViewContainer<SegmentedControlOption>
|
||||
{
|
||||
public IList<SegmentedControlOption> Children { get; set; }
|
||||
|
||||
public SegmentedControl()
|
||||
{
|
||||
Children = new List<SegmentedControlOption>();
|
||||
}
|
||||
|
||||
public static readonly BindableProperty TintColorProperty = Helper.Create<Color, SegmentedControl>(nameof(TintColor));
|
||||
public static readonly BindableProperty DisabledColorProperty = Helper.Create<Color, SegmentedControl>(nameof(DisabledColor));
|
||||
public static readonly BindableProperty SelectedTextColorProperty = Helper.Create<Color, SegmentedControl>(nameof(SelectedTextColor));
|
||||
public static readonly BindableProperty SelectedSegmentIndexProperty = Helper.Create<int, SegmentedControl>(nameof(SelectedSegmentIndex));
|
||||
|
||||
public Color TintColor
|
||||
{
|
||||
get => (Color)GetValue(TintColorProperty);
|
||||
set => SetValue(TintColorProperty, value);
|
||||
}
|
||||
public Color DisabledColor
|
||||
{
|
||||
get => (Color)GetValue(DisabledColorProperty);
|
||||
set => SetValue(DisabledColorProperty, value);
|
||||
}
|
||||
public Color SelectedTextColor
|
||||
{
|
||||
get => (Color)GetValue(SelectedTextColorProperty);
|
||||
set => SetValue(SelectedTextColorProperty, value);
|
||||
}
|
||||
public int SelectedSegmentIndex
|
||||
{
|
||||
get => (int)GetValue(SelectedSegmentIndexProperty);
|
||||
set => SetValue(SelectedSegmentIndexProperty, value);
|
||||
}
|
||||
|
||||
public SegmentedControlOption SelectedSegment => Children[SelectedSegmentIndex];
|
||||
|
||||
public event EventHandler<ValueChangedEventArgs> ValueChanged;
|
||||
|
||||
//[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public void SendValueChanged()
|
||||
{
|
||||
ValueChanged?.Invoke(this, new ValueChangedEventArgs { NewValue = SelectedSegmentIndex });
|
||||
}
|
||||
}
|
||||
|
||||
public class SegmentedControlOption : View
|
||||
{
|
||||
public static readonly BindableProperty TextProperty = Helper.Create<string, SegmentedControlOption>(nameof(Text));
|
||||
|
||||
public string Text
|
||||
{
|
||||
get => (string)GetValue(TextProperty);
|
||||
set => SetValue(TextProperty, value);
|
||||
}
|
||||
|
||||
public object Value { get; set; }
|
||||
}
|
||||
|
||||
public class ValueChangedEventArgs : EventArgs
|
||||
{
|
||||
public int NewValue { get; set; }
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user