Я хотел бы сделать следующее:
0) Держите текстовое поле, чтобы ввести кол-во/количество футов/дюймов/метров и т.д. ...
1) Используйте выпадающий список вместо текстовых полей.
2) Вместо того, чтобы просто помещать текст в качестве элементов для раскрывающегося списка, создайте классы и добавьте их в качестве элементов. Выпадающие элементы будут иметь их .ToString(), чтобы получить их значения Text для элементов.
3) Все эти элементы могут наследовать базовый/абстрактный класс, чтобы вы могли передать значение qty.
Например, ваше падение вниз предметов может быть что-то вроде этого:
Я C# человек и не имеют времени, чтобы преобразовать так вот моя идея, выраженная в C# коде.
public abstract class MeasureableItem
{
public string Name { get; private set; }
public MeasureableItem(string name)
{
Name= name;
}
public abstract decimal ConvertFrom(MeasureableItem from, decimal qty);
public override string ToString() { return Name; }
}
Вы бы затем определить некоторые типы:
public class Inches : MeasureableItem
{
public Inches() : base("Inches") {}
public override decimal ConvertFrom(MeasureableItem from, decimal qty)
{
if (from is typeof(Feet))
{
return qty * (decimal)12;
}
else{
throw new Exception("Unhandled conversion.");
}
}
}
public class Feet : MeasureableItem
{
public Feet() : base("Feet") {}
public override decimal ConvertFrom(MeasureableItem from, decimal qty)
{
if (from is typeof(Inches))
{
return qty/(decimal)12;
}
else{
throw new Exception("Unhandled conversion.");
}
}
}
Вы могли бы, очевидно, добавить "еще, если {}" для поддержки большего количества конверсий.
Чтобы добавить к ниспадающего сделать это:
MeasureableItem inches = new Inches();
MeasureableItem feet = new Feet();
dropDownFrom.Items.Add(inches);
dropDownFrom.Items.Add(feet);
Вы должны создать специальный экземпляр для «To» выпадающий также, я не считаю, что элементы управления позволяют разделить элементы на нескольких управления.
Что займет много времени, вы пишете код или читаете это? –
Написание кода. – stackptr
Код не пишет сам. Вы можете либо написать 'if x, либо y ', либо кучу объектов. В чем разница? –