2012-02-15 3 views
0

В рамках презентации WPF, мне нужен контроль как Ложные вверх ниже, чтобы позволить пользователю:сетке для ввода данных

  1. ввести переменное число процентов до 100%
  2. знает, что сумма всех записей являются
  3. знает, что баланс (100% - TotalEntered)

Хотя это, очевидно, довольно требование пешехода, я в недоумении, как это осуществить. Это одноразовое требование, поэтому его не нужно использовать повторно, хотя было бы неплохо, если бы это было так. Также будет отличным образцом, позволяющим разделить и тестировать (т. Е. MVVM).

Я предполагаю, что существующий элемент управления DataGrid - это подходящий инструмент для работы, но, возможно, он перебор. Может ли кто-нибудь предложить какой-то исходный код реализации или ссылку на него?

Приветствия,
Berryl

mock up

ответ

1

В.М. = "ViewModel" реализации INotifyPropertyChanged.

Создать Shares VM и Share VM (реализация удалена для краткости).

SharesViewModel 
{ 
    double TotalPercent 
    double RemainingPercent 
    ObservableCollection<ShareViewModel> Shares 
    // foreach Share in Shares 
    // handle PropertyChanged on ActualPercent to update TotalPercent 
} 
ShareViewModel 
{ 
    int Line 
    string Percent // on set, parse/validate and set ActualPercent 
    double ActualPercent 
} 

Используйте этот article, чтобы увидеть, как сохранить Line последовательность в порядке.

Bind DataGrid ItemsSource до SharesViewModel Shares Недвижимость.

(Убедитесь, что для проверки процентов входов IDataErrorInfo может помочь.).

+0

purrrfect - спасибо! – Berryl

Смежные вопросы