コード例 #1
0
        /// <summary>
        /// 通知文字列を表示
        /// </summary>
        /// <param name="text"></param>
        /// <param name="forceScroll"></param>
        /// <param name="type"></param>
        private void WriteNotice(string text, bool forceScroll, LogTypes type)
        {
            if (!this.IsLogFollowing.Value)
            {
                return;
            }
            if (type == LogTypes.Notice)
            {
                Application.Current.Dispatcher.Invoke
                    (() => { if (!this.IsDisposed) { this.NoticeText.Value = text; } });

                if (!this.IsNoticeEnabled.Value)
                {
                    return;
                }
            }
            text = text.Replace("\r\n", "\n").Replace("\r", "\n");

            this.ActionQueueSubject.OnNext(new RequestContainer()
            {
                Text = text + "\n",
                Brush = new TextBrush(type.GetColor(), 0, text.Length),
                Scroll = forceScroll,
                NewLine = true,
            });

            //this.ActionQueueSubject.OnNext(() =>
            //{
            //    if (this.AppendableTextController.LastText?.Length > 0)
            //    {
            //        text = "\n" + text;
            //    }
            //
            //    this.WriteMain(text + "\n", new TextBrush(type.GetColor(), 0, text.Length));
            //
            //    if (forceScroll)
            //    {
            //        this.ScrollToBottom();
            //    }
            //});
        }