У меня есть вид, в котором я должен иметь возможность вводить двойные числа. Дело в том, что я могу вводить только целые числа, такие как «100», но не «100.4». Все мои фоновые расчеты выполняются на удвоениях. Есть ли легкое исправление?
Вид:
<TextBox Grid.Column="1" Grid.Row="1" HorizontalAlignment="Center" Grid.RowSpan="2"
Text="{Binding RelativeSource={RelativeSource AncestorType=UserControl}, Path=DelayModel.DelayTime, UpdateSourceTrigger=PropertyChanged}"/>
Модель:
private double _delayTime;
public double DelayTime
{
get
{
return _delayTime;
}
set
{
if (value != _delayTime)
{
_delayTime = value; NotifyPropertyChanged();
}
}
}
Другая модель, которая использует delayTime
:
public double TotalAxisTime
{
get
{
double positioningTime = 0.0;
double delayTime = 0.0;
foreach (var block in BlockList)
{
if (block is PositioningModel)
{
positioningTime = positioningTime + ((PositioningModel)block).PositioningTime;
}
if (block is DelayModel)
{
delayTime = delayTime + ((DelayModel)block).DelayTime;
}
}
return (positioningTime + delayTime);
}
}
(PositioningTime - еще одно двойное значение, которое мне, вероятно, нужно преобразовать в строки.
Я изо всех сил пытаюсь реализовать метод Convert.ToString (). Это правильный подход? Должен ли я использовать специальные конвертеры в XAML? Что-то вроде StringToDoubleConverter с IValueConverter?
Любой совет поможет. Заранее спасибо.