CustomBoolean.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using InABox.Mobile;
  3. using PRS.Mobile;
  4. using Xamarin.Forms;
  5. namespace PRS.Mobile
  6. {
  7. public delegate void CustomBooleanValueChanged(bool value);
  8. class CustomBoolean : MobileTabStrip
  9. {
  10. public event CustomBooleanValueChanged OnCustomBooleanValueChanged;
  11. public bool ValueChanged { get; set; }
  12. public bool Value
  13. {
  14. get => SelectedItem.Index == 0;
  15. set => SelectedItem = value ? Items[0] : Items[1];
  16. }
  17. public string TrueValue
  18. {
  19. get => Items[0].Text;
  20. set => Items[0].Text = value;
  21. }
  22. public string FalseValue
  23. {
  24. get => Items[1].Text;
  25. set => Items[1].Text = value;
  26. }
  27. public CustomBoolean(int rbGroup)
  28. {
  29. Items.Add(new MobileTabStripItem() { Text = "Yes"});
  30. Items.Add(new MobileTabStripItem() { Text = "No"});
  31. SelectionChanged += (sender, args) =>
  32. {
  33. OnCustomBooleanValueChanged?.Invoke(Value);
  34. };
  35. }
  36. }
  37. }