using HMI.Base; using Panuon.WPF.UI; using System; using System.Threading.Tasks; using System.Windows; using System.Windows.Documents; namespace WPFProject { /// /// LoadingWindow.xaml 的交互逻辑 /// public partial class LoadingWindow : WindowX { private string consoleText = ""; public string ConsoleText { get { return consoleText; } set { Set(ref consoleText, value); } } public LoadingWindow() { DataContext = this; InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { } private void Loader_LoadMessageAppend(object sender, string e) { Add(e); } private void Button_Click(object sender, RoutedEventArgs e) { PanuonWindow window = new PanuonWindow(); window.Show(); this.Close(); } private void WindowX_ContentRendered(object sender, System.EventArgs e) { PluginLoader loader = PluginLoader.GetLoader(); loader.LoadMessageAppend += Loader_LoadMessageAppend; loader.Loaded += Loader_Loaded; Task.Run(() => { loader.LoadMenuAndPlugin(Dispatcher); // }); } private void Loader_Loaded(object sender, EventArgs e) { Dispatcher.Invoke(() => { Button_Click(null, null); }); } public void Add(string text) { string t = string.Format("{0:G}", DateTime.Now); Run run = new Run(); run.Text = t + " 信息:" + text; //run.Foreground = new Brush(); Paragraph paragraph = new Paragraph(run) { LineHeight =1 }; //rtxtLog.Document.Blocks.InsertAfter(); ; //插入到最前面 Console.Document.Blocks.InsertAfter(Console.Document.Blocks.LastBlock, paragraph); //也可以插入到最后面 //rtxtLog.Document.Blocks.Add(paragraph); // 滚动至最后行 //rtxtLog.ScrollToEnd(); //Console.ScrollToHome(); Console.ScrollToEnd(); // 删除 //if (Console.Document.Blocks.Count > 10000) //{ // for (int i = 1000; i < Console.Document.Blocks.Count; i++) // { // _ = Console.Document.Blocks.Remove(Console.Document.Blocks.FirstBlock); // } //} } } }