Я довольно новичок в MVVM, так что терпите.У меня есть класс модели представления с открытым свойством, реализованным следующим образом:
public List<float> Length
{
get;
set;
}
В моем XAML для представления у меня есть несколько текстовых полей, каждое из которых связано с определенным элементом в этом списке длины:
<TextBox Text="{Binding Length[0], Converter=DimensionConverter}" />
<TextBox Text="{Binding Length[2], Converter=DimensionConverter}" />
<TextBox Text="{Binding Length[4], Converter=DimensionConverter}" />
DimensionConverter является производным классом IValueConverter, который форматирует значения как измерение (т. Е. 480,0 дюйма становится 40'0 "в текстовом поле на экране) и обратно (т. Е. Занимает 35'0"для строки и получим 420.0 дюймов для источника)
Моя проблема: мне нужно иметь возможность проверять каждое значение в списке, поскольку оно изменяется в соответствующем TextBox.Для некоторых мне может понадобиться изменить другие значения в списке в зависимости от введенного значения (т. Е. Изменение значения с плавающей точкой на Length [0] изменит значение на Length [4] и обновит экран).
Есть ли способ переделать свойство, чтобы учесть индексатор?Или мне нужно создавать отдельные свойства для каждого элемента в списке (что действительно делает список ненужным)?По сути, поскольку у меня уже есть коллекция с плавающей точкой, я надеялся, что смогу написать код MVVM для проверки каждого элемента при его изменении.
Мысли?(и, заранее спасибо)