У меня есть приложение для отслеживания расходов. Пользователи добавляют новые расходы через форму. Расходы хранятся в коллекции.
Я новичок в Silverlight и точно не знаю, как лучше всего настроить мое приложение. В настоящее время у меня есть DataGrid
со столбцами, которые я определил для удобного форматирования членов ICollection
. В приведенном ниже коде я определил коллекцию как ItemSource
сетки данных.
Каждый расход представлен классом под названием ExpenseInfo
.
Чтобы добавить новые расходы, я думал, что создам новый экземпляр ExpenseInfo
, и данные привязывают к нему значения в форме ввода. Затем, когда пользователь нажимает кнопку «Отправить», этот экземпляр будет добавлен в коллекцию.
Я не совсем уверен, как это сделать. Я указываю это в Xaml? В коде позади?
Кроме того, сейчас я добавляю ExpenseInfo
элементов в резервную коллекцию, но сетка данных не меняется. (Возможно, мой режим привязки неверен?) Это работает в конструкторе страниц:
CurrentExpensesGrid.ItemsSource = expenses;
ExpenseInfo initialExpense = new ExpenseInfo() { Cost = "23", Date = DateTime.Now, WhoPaid = "foo", Name = "bar" };
initialExpense.WhoOwes.Add("baz");
initialExpense.WhoOwes.Add("ftw");
expenses.Add(initialExpense);
Однако в обработчике события нажатия кнопки добавления не работает следующее:
expenses.Add(newExpense);
expenses.Add(new ExpenseInfo() {Cost="2", Name="fje", Date = DateTime.Now, WhoPaid="foe"});
Под словом «не работает» я подразумеваю, что новые элементы не отображаются в сетке данных.