下面是我打电话给StackLayout.Items.Add(Label):https://streamable.com/hczt8时发生的事情的视频
似乎这个列表完全被清空到一个新的列表中,简单的代码是:
public class ChatPanel : Scrollable
{
StackLayout _messages;
public ChatPanel()
{
_messages = new StackLayout();
Content = _messages;
BackgroundColor = Colors.Azure;
_currentAccountData.Chat.EvOnChatMessage += OnMessage; // Custom event when a message is received
}
void OnMessage(ChatMessage m)
{
Label label = new Label();
string date = $"[00:00:00]";
if (m.GetType().Equals(typeof(PlayerMessage)))
{
PlayerMessage message = (PlayerMessage) m;
label.Text = $"{date} {message.Pseudo}: {message.Message}";
}
else
{
label.Text = $"{date} {((ServerMessage)m).Message}";
}
_messages.Items.Add(new StackLayoutItem(label)); // I tried without "StackLayoutItem" too
}
}我找不到任何符合我需要的集装箱或控制室。(完整的列表在这里)
为什么它会这样更新?我还能用另一个控件来避免这种情况吗?还是我误用了组件?
发布于 2019-10-13 11:56:12
标签不适合这一点。我使用了RichtextBox并设置了Rtf属性。我不得不利用这个答案
https://stackoverflow.com/questions/58323372
复制相似问题