У меня есть стол с игроками и счетами (Имя: счет Майка: 10, Имя: счет Питера: 5 и т. Д.) И вид с 3 фотографиями бронзовой, серебряной и золотой медали.Под каждой картинкой я хочу отображать имена игроков победителей каждую неделю / раунд.Вполне возможно, что есть несколько бронзовых, серебряных или золотых баллов.
В моей TotalViewModel у меня есть ObservableCollection для всех итоговых оценок:
public const string TotalsPropertyName = "Totals";
private ObservableCollection<TotalViewModel> _totals;
public ObservableCollection<TotalViewModel> Totals
{
get
{
return _totals;
}
set
{
if (_totals == value)
return;
_totals = value;
RaisePropertyChanged(TotalsPropertyName);
}
}
Я хотел использовать IEnumerable из-замножественные числа один, два, три балла:
public IEnumerable<TotalViewModel> FirstOne { get; private set; }
private void UpdateFirstOne()
{
this.FirstOne = this.Totals.Where(elem => elem.Model.score > 0).OrderByDescending(e => e.Model.score);
}
private void Totals_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
try
{
this.UpdateFirstOne();
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
}
DataContext моего просмотра отлично работает для простых привязок, он установлен в UserControl:
DataContext="{Binding MainTotal, Source={StaticResource Locator}}
Но результатыне отображаются в моей DataGrid (думаю, что я делаю глупую ошибку здесь):
<data:DataGrid ItemsSource="{Binding FirstOne, Mode=OneWay}" AutoGenerateColumns="true" Height="100" Name="dataGrid1" Width="120" />
Итак, у меня есть 2 вопроса:
- Как получить нужную коллекциюс количеством баллов 1/2/3?
- Как получить их в моем виде?
Спасибо.