Привет всем, у меня есть проблема, мне нужно добавить два текстовых поля и поместить результат в другое текстовое поле без использования кода, поскольку два текстовых поля привязаны к их свойству. Заранее благодарю вас за помощьmvvm добавить два значения вставки текстового поля в другое текстовое поле
ответ
Ваша модель будет состоять из трех объектов. Первые два свойства будут привязаны к двум входным текстовым полям. Третье свойство возвращает сумму первого и второго свойств и привязывается к третьему текстовому полю, который используется только для вывода.
При редактировании первого или второго свойства они также уведомит third property changed
public class ViewModel
{
private string _firstText;
public string FirstText
{
get {return _firstText; }
set { _firstText = value; RaisePropertyChanged("FirstAndSecondText"); }
}
private string _secondText;
public string SecondTExt
{
get {return _secondText; }
set { _secondText= value; RaisePropertyChanged("FirstAndSecondText"); }
}
public string FirstAndSecondText {get {return FirstText + SecondText; }}
}
В XAML:
<TextBox Text={Binding FirstText, Mode=TwoWay} />
<TextBox Text={Binding SecondText, Mode=TwoWay} />
<TextBox Text={Binding FirstAndSecondText} />
RaisePropertyChanged
не встраивается в методе. Вы должны реализовать интерфейс INotificationProperty или наследовать специальные вспомогательные классы, например ViewModelBase
, в инструментах MVVM Light.
спасибо всем вам за помощь – Nio74
здесь, как это сделать: Сначала в вашей модели представления определяет три поплавка свойства:
private float _floatOne;
public float FloatOne
{
get
{
return _floatOne;
}
set
{
if (_floatOne == value)
{
return;
}
_floatOne = value;
OnPropertyChanged();
Result = _floatOne + _floatTwo;
}
}
private float _floatTwo;
public float FloatTwo
{
get
{
return _floatTwo;
}
set
{
if (_floatTwo == value)
{
return;
}
_floatTwo = value;
OnPropertyChanged();
Result = _floatOne + _floatTwo;
}
}
private float _result;
public float Result
{
get
{
return _result;
}
set
{
if (_result == value)
{
return;
}
_result = value;
OnPropertyChanged();
}
}
метод OnPropertyChanged
уведомит интерфейс для каких-либо изменений, и это является результатом реализации интерфейса INotifyPropertyChanged
, во-вторых, в вашем Xaml связать эти свойства к Textboxes так:
<StackPanel>
<TextBox Text="{Binding FloatOne,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<TextBox Text="{Binding FloatTwo,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<TextBox Text="{Binding Result,Mode=OneWay}" IsReadOnly="True"/>
</StackPanel>
Спасибо за помощь мне я сделать:
public double Ricambi
{
get { return _Ricambi; }
set
{
_Ricambi = value; _Totale = _Ricambi + _Manifattura; RaisePropertyChanged("Ricambi"); RaisePropertyChanged("Totale");
}
}
public double Manifattura
{
get { return _Manifattura; }
set { _Manifattura = value;_Totale = _Ricambi + _Manifattura; RaisePropertyChanged("Manifattura"); RaisePropertyChanged("Totale"); }
}
public double Totale
{
get { return _Totale; }
}
Лично я предпочитаю решение @JesseJames, потому что вы не повторяете свое определение того, что такое '_Totale'. С решением, которое вы выбрали, теперь у вас есть два места в коде для поддержки этой формулы. Да, это простая формула, но повторять это не очень хорошо. Решение JesseJames определило, что только в одном месте, поэтому, если это необходимо для изменения, вам не помешало определение, разбросанное по всему коду. Кстати, если эти ответы помогли вам, то Upvote их и выберите один в качестве выбранного ответа. – Mashton
- 1. Скопируйте все значения текстового поля в другое текстовое поле
- 2. Передача значения текстового поля в другое текстовое поле
- 3. Добавление числового значения из текстового поля в другое текстовое поле
- 4. WPF - связать содержимое текстового поля другое Текстовое поле
- 5. Добавление текстового поля под другое текстовое поле Программно в ios
- 6. Событие вставки текстового поля MVVM
- 7. Вставка текстового поля GridView в другое текстовое поле
- 8. Заполнение текстового поля, если заполнено другое текстовое поле
- 9. Автоматически копировать ввод текстового поля в другое текстовое поле
- 10. Установленное значение из текстового поля в другое текстовое поле
- 11. Перемещение вывода текстового поля в другое текстовое поле
- 12. копировать содержимое текстового поля в другое текстовое поле при вводе
- 13. Как добавить значения текстового поля в список с помощью MVVM?
- 14. Как добавить два значения текстового поля в третье текстовое поле в форме рельсов?
- 15. Как добавить несколько значений одного текстового поля в другое текстовое поле в javascript?
- 16. KnockOutJS добавить два значения текстового поля вместе
- 17. Текстовое поле для поиска MVVM
- 18. добавить содержимое поля в текстовое поле
- 19. Получение значения текстового поля и копий в другое текстовое поле в транспортирторе
- 20. добавить текстовое поле из массива плюс простой текст, в другое текстовое поле массива
- 21. Передача значения текстового поля в текстовое поле Crystal Report
- 22. Создание текстового поля в текстовое поле?
- 23. добавить два значения текстового поля в jquery после получения JSON
- 24. Числовые значения текстового поля уже вставлены в другое текстовое поле, чтобы избежать дубликатов
- 25. Пересылка значения текстового поля в другое скрытое текстовое поле на той же странице
- 26. Добавить другое поле в валидатор из поля
- 27. Скрыть текстовое поле ssrs на основе другого значения текстового поля
- 28. JQuery в другое текстовое поле
- 29. текстовое поле при заполнении запрещено другое текстовое поле
- 30. Onfocus текстового поля очистить другое текстовое поле в той же строке в бритве
Где код, который вы внедрили? – Sajeetharan