ソケットで待機するときにobservableCollection
を更新する必要があります。 次に、observableCollection
を最大から最小に並べ替えます。 私は毎回何か更新を聞いています。 これは正常に動作します。c#ソケットのObservableCollectionを更新します
しかし、私は私のlongListSelector
を下にスクロールすると、**更新が行われ、すべての回は、i」は はトンそれの終わりに到達することができ、それはトップに私を返します。* * それを更新する方法と、下にスクロールすることができます。
mySock.On("player:new-vote", (data) = > {
string newVoteData = data.ToString();
JObject obj = JObject.Parse(newVoteData);
string objId = (string) obj["id"];
int objStand = (int) obj["details"]["standing"];
int objUp = (int) obj["details"]["upVotes"];
int objDown = (int) obj["details"]["downVotes"];
string objBy = (string) obj["details"]["by"];
PlayerVotes newVote = new PlayerVotes() {
by = objBy,
_id = objId,
downVotes = objDown,
upVotes = objUp,
standing = objStand
};
Deployment.Current.Dispatcher.BeginInvoke(() = > {
var updateVoteSong = playerCollection.FirstOrDefault(x = > x._id == objId);
updateVoteSong.votes = newVote;
playerCollection = new ObservableCollection <PlayerSong> (playerCollection
.OrderByDescending(x = > x.votes.standing));
MainLongListSelector.ItemsSource = playerCollection;
});
});