Приложение WPF не закрывается правильно

Вы можете сделать что-то вроде этого:

private static List<string> Divide(List<string> input, int index, int partitions)
{
    var stringToDivide = input[index];
    input.RemoveAt(index);

    var stringToAdd = "";
    var partitionLength = stringToDivide.Length / partitions;

    for (int i = 0, partitionNum = 0; i < stringToDivide.Length; i++)
    {
        if (i % partitionLength == 0 && partitionNum != partitions)  // skip space in last part
        {
            if (i > 0) // do not add leading space
            {
                stringToAdd += " ";
            }

            partitionNum++;
        }

        stringToAdd += stringToDivide[i];
    }

    input.Insert(index, stringToAdd);

    return input;
}

Этот код добавляет пробелы каждый partitionLength, но пропускает пробел для последней строки. Обратите внимание, что для длинных строк лучше использовать StringBuilder.

7
задан Bob Kaufman 24 August 2016 в 16:12
поделиться

4 ответа

Вы создали какие-либо темы для фоновой обработки? Если у вас есть, убедитесь, что для них установлено свойство .IsBackground , иначе они могут поддерживать работоспособность приложения

.
9
ответ дан 6 December 2019 в 05:01
поделиться

Если в вашем приложении несколько окон или диалогов, вам может потребоваться закрыть каждое из них явно.

Закрыть диалоговые окна с помощью:

_myDialog.Close ();

Закройте все окна:

foreach(var window in Application.Current.Windows.ToList())
{
    window.Close();
}
1
ответ дан 6 December 2019 в 05:01
поделиться

Попробуйте Environment.Exit (0) вместо

25
ответ дан 6 December 2019 в 05:01
поделиться

Don't forget to add this:

private void Window_Closed(object sender, EventArgs e)
{
  Application.Current.Shutdown();
}

Hope this helps.

5
ответ дан 6 December 2019 в 05:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: