TRX/tools/installer/TRX_InstallerLib/Controls/InstallStepControl.xaml.cs
lahm86 cf8fc3d6bf tools/installer: migrate TR1X installer
This migrates the TR1X installer to use the new common library.
2025-03-30 12:34:54 +01:00

40 lines
1.2 KiB
C#

using System.Windows;
using TRX_InstallerLib.Models;
using WC = System.Windows.Controls;
namespace TRX_InstallerLib.Controls;
public partial class InstallStepControl : WC.UserControl
{
public InstallStepControl()
{
InitializeComponent();
DataContextChanged += (object sender, DependencyPropertyChangedEventArgs e) =>
{
var dataContext = DataContext as InstallStep;
if (dataContext is not null)
{
string? lastMessage = null;
dataContext.Logger.LogEvent += (object sender, LogEventArgs e) =>
{
if (e.Message != lastMessage)
{
lastMessage = e.Message;
AppendMessage(e.Message);
}
};
}
};
}
private void AppendMessage(string message)
{
_logTextBox.Dispatcher.Invoke(() =>
{
_logTextBox.AppendText(message + Environment.NewLine);
_logTextBox.Focus();
_logTextBox.CaretIndex = _logTextBox.Text.Length;
_logTextBox.ScrollToEnd();
});
}
}