private void VisualizeNewMessage(string message, string initiator) { if (initiator != null && initiator != _user.Username) { ListBoxMessages.Items.Add(new ListBoxItem { Content = new TextBlock { TextWrapping = TextWrapping.Wrap, Text = initiator + " says:", TextAlignment = TextAlignment.Right }, Background = new SolidColorBrush(Colors.LightSteelBlue), HorizontalContentAlignment = HorizontalAlignment.Stretch }); } ListBoxMessages.Items.Add(new ListBoxItem { Content = new TextBlock { TextWrapping = TextWrapping.Wrap, Text = message, TextAlignment = initiator != null ? TextAlignment.Right : TextAlignment.Left }, HorizontalContentAlignment = HorizontalAlignment.Stretch }); ListBoxMessages.SelectedIndex = ListBoxMessages.Items.Count - 1; ListBoxMessages.ScrollIntoView(ListBoxMessages.SelectedItem); }
private void ShowMessage(string message) { Dispatcher.Invoke(() => { ListBoxMessages.Items.Add(message); ListBoxMessages.ScrollIntoView(ListBoxMessages.Items.GetItemAt(ListBoxMessages.Items.Count - 1)); }); }
private void UiLog(string msg) { Dispatcher.BeginInvoke(DispatcherPriority.Background, (Action)(() => { var newItem = new ListBoxItem { Content = $"[{DateTime.Now}] {msg}" }; ListBoxMessages.Items.Add(newItem); ListBoxMessages.ScrollIntoView(newItem); })); }
private void TaskStartInstall() { try { _disp.BeginInvoke(new Action(() => ButtonContinue.IsEnabled = false)); OutMessage("Начало установки"); OutMessage("Добавление переменных среды"); UpdateProgressBar(2); ProcessOneEnvVar("TERMINAL_PATH", TextBoxPathTerminalExec); // _installer.ProcessOneEnvVar("TERMINAL_PATH", TextBoxPathTerminalExec.Text); UpdateProgressBar(3); //_installer.ProcessOneEnvVar("CONFIG_PATH", TextBoxPathTerminalConfig.Text); ProcessOneEnvVar("CONFIG_PATH", TextBoxPathTerminalConfig); UpdateProgressBar(5); //_installer.ProcessOneEnvVar("LOG_PATH", TextBoxPathLogs.Text); ProcessOneEnvVar("LOG_PATH", TextBoxPathLogs); UpdateProgressBar(7); //_installer.ProcessOneEnvVar("DATA_PATH", TextBoxPathData.Text); ProcessOneEnvVar("DATA_PATH", TextBoxPathData); UpdateProgressBar(9); //_installer.ProcessOneEnvVar("ALARMS_PATH", TextBoxPathAlarm.Text); ProcessOneEnvVar("ALARMS_PATH", TextBoxPathAlarm); UpdateProgressBar(11); //_installer.ProcessOneEnvVar("TEMP_PATH", TextBoxPathTemp.Text); ProcessOneEnvVar("TEMP_PATH", TextBoxPathTemp); UpdateProgressBar(13); OutMessage("Обновлены переменные среды"); _disp.Invoke(new Action(() => { _installer.IsOverwriteTerminalConfig = (bool)checkBoxTerminalConf.IsChecked; _installer.IsOverwriteServerConfig = (bool)checkBoxServersConf.IsChecked; _installer.IsOverwriteStockVisualConfig = (bool)checkBoxStockVisual.IsChecked; _installer.IsOverwriteInstrumentsConfig = (bool)checkBoxInstrumentsConf.IsChecked; _installer.IsNeedCreateShortCut = checkBoxCreateShortCut.IsChecked == true ? true : false; } )); _installer.Install(); _disp.BeginInvoke(new Action(() => { ListBoxMessages.ScrollIntoView(ListBoxMessages.Items.CurrentItem); // ButtonContinue.IsEnabled = true; } )); } catch (Exception e) { CallBackErrorExit("Внутренняя ошибка установки"); } }