сетка для ввода данных - PullRequest
       21

сетка для ввода данных

0 голосов
/ 15 февраля 2012

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

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

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

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

Cheers,
Berryl

mock up

1 Ответ

1 голос
/ 15 февраля 2012

VM = "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 в порядке.

Привязать DataGrid ItemsSource к SharesViewModel Shares свойству.

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

...