首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标签的Eto.Forms StackLayout刷新添加上的整个列表

标签的Eto.Forms StackLayout刷新添加上的整个列表
EN

Stack Overflow用户
提问于 2019-10-10 12:53:08
回答 1查看 154关注 0票数 0

下面是我打电话给StackLayout.Items.Add(Label)https://streamable.com/hczt8时发生的事情的视频

似乎这个列表完全被清空到一个新的列表中,简单的代码是:

代码语言:javascript
复制
    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
        }
    }

我找不到任何符合我需要的集装箱或控制室。(完整的列表在这里)

为什么它会这样更新?我还能用另一个控件来避免这种情况吗?还是我误用了组件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-13 11:56:12

标签不适合这一点。我使用了RichtextBox并设置了Rtf属性。我不得不利用这个答案

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58323372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档