123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using InABox.Core;
- using Syncfusion.Windows.Shared;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- namespace InABox.DynamicGrid
- {
- public class DFIntegerControl : DynamicFormFieldControl<DFLayoutIntegerField, DFLayoutIntegerFieldProperties, int>
- {
- private IntegerTextBox Integer = null!; // late-initialising
- protected override FrameworkElement Create()
- {
- Integer = new IntegerTextBox();
- Integer.Value = Field.Properties.Default;
- Integer.HorizontalContentAlignment = HorizontalAlignment.Center;
- Integer.VerticalContentAlignment = VerticalAlignment.Center;
- Integer.IsScrollingOnCircle = false;
- Integer.VerticalAlignment = VerticalAlignment.Stretch;
- Integer.ValueChanged += (sender, e) => ChangeField();
- return Integer;
- }
- public override void Deserialize(string serialized)
- {
- if (int.TryParse(serialized, out int i))
- SetValue(i);
- }
- public override string Serialize()
- {
- return GetValue().ToString();
- }
- public override int GetValue()
- {
- var value = Integer.Value;
- if (value != null)
- return Convert.ToInt32((long)value);
- return 0;
- }
- public override void SetValue(int value)
- {
- Integer.Value = value;
- }
- protected override bool IsEmpty() => Integer.Value == null;
- }
- }
|