Я только начал изучать WPF / C # и выбрал проект, который на самом деле был бы мне полезен вместо вариантов «Hello, World!» программы.
Это небольшое приложение, которое опрашивает игровой сервер на предмет информации об игроке и привязывает его к DataGrid
. Данные сгруппированы по командам, которые могут иметь одно из четырех значений: синий, красный, зритель или нет.
У меня нормально работает запрос Linq, и группировка DataGrid
почти хороша, за исключением одной маленькой проблемы: порядок групп из четырех команд каждый раз различается. Иногда сначала красный, иногда нет и т. Д.
Есть ли способ заставить группы в указанном выше порядке?
Вот запрос Linq (адрес - IP-адрес сервера):
private void get_server(string addr)
{
var loc = "http://ukcs.gameme.com/api/serverinfo/" + addr + "//players";
XDocument doc = XDocument.Load(@loc);
var server = new ObservableCollection<Player>
(from player in doc.Descendants("player")
orderby player.Element("rank").Value
select new Player
{
name = player.Element("name").Value,
team = player.Element("team").Value,
frags = player.Element("kills").Value + ":" + player.Element("deaths").Value,
rank = int.Parse(player.Element("rank").Value)
});
server.OrderBy(p => p.rank);
ListCollectionView collection = new ListCollectionView(server);
collection.GroupDescriptions.Add(new PropertyGroupDescription("team"));
player_list.ItemsSource = collection;
}
Вторая проблема заключается в том, что ни один из OrderBys, похоже, не дает эффекта.
Буду признателен за любую помощь!