Следующий сценарий (я значительно упростил его для этого примера):
У меня есть список групп.Каждой группе присваиваются элементы с суммами.
Это список из моей ViewModel:
public List<Group> Groups { get; set; }
А это мои модели:
public class Group
{
public int GroupId { get; set; }
public string Name { get; set; }
public Element MainElement { get; set; }
}
public class Element
{
public int ElementId { get; set; }
public int GroupId { get; set; }
public string Name { get; set; }
public double Amount { get; set; }
}
Вот какListView выглядит так:
<ListView ItemsSource="{Binding Groups}>
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Name}" />
<TextBlock Grid.Column="1" Text="{Binding GroupId}" />
<TextBlock Grid.Column="2" Text="{Binding SumOfAllItemsInThisGroup}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Все приложение UWP работает просто отлично, но я бы хотел показать в списке сумму всех элементов в этой группе.
Я не хочусохранить значение в базе данных.Или я должен?
Я пробовал что-то вроде:
var myGroups = new SuperGroup
{
Group = group,
Amount = db.Elements.Where(e => e.Group == group).Select(e => e.Amount).Sum()
};
public class SuperGroup
{
public Group Group { get; set; }
public double SumAmount { get; set; }
}
И изменил привязки на Text="{Binding Group.*}"
, но, к сожалению, больше значения не отображались
Есть лиспособ работы с конвертерами?
Или у вас есть очень простое решение для меня?