C# WPF Открывает новое окно для регистрации и оставить его открытым для процессаC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 C# WPF Открывает новое окно для регистрации и оставить его открытым для процесса

Сообщение Anonymous »

Я пытаюсь создать вторичное окно регистрации, которое запускается и ловит события через наблюдаемая коллекция, как только операция инициирует. Однако. Я столкнулся с двумя проблемами, и я не уверен, как их решить. Очевидно, ожидаемое поведение, если я не делал что -то не так? < /P>
private async void RunTestButton (object sender, RoutedEventArgs e)
{
OpenLoggingWindow();
...Rest of Code to Execute
}
private void OpenLoggingWindow ()
{
bool windowOpen = false;
foreach (LoggingWindow window in Application.Current.Windows.OfType())
{
if (window.IsActive == true)
{
windowOpen = true;
break;
}
}

if (!windowOpen)
{
LoggingWindow newLogWindow = new LoggingWindow(observableCollection);
newLogWindow .ShowDialog();
}
}
< /code>
Поэтому я попытался попытаться сделать это в качестве задачи, которая, как я не уверен, - это правильный способ справиться с этим, но это немного еще больше, что привело к < /p>
Вторая проблема:
пытается выполнить его в качестве задачи, на кнопке, чтобы инициировать задачу, я получаю код, который требует, чтобы это было много, потому что многие. конструктор окна, таким образом, исключение и сбой. < /p>
private async void RunTestButton (object sender, RoutedEventArgs e)
{
await OpenLoggingWindow();
..Rest of Code;
}
private async Task OpenLoggingWindow ()
{
bool windowOpen = false;
foreach (LoggingWindow window in Application.Current.Windows.OfType())
{
if (window.IsActive == true)
{
windowOpen = true;
break;
}
}

if (!windowOpen)
{
await Task.Run(() =>
{
LoggingWindow newLogWindow = new LoggingWindow(observableCollection);
newLogWindow .ShowDialog();
});
}
}
< /code>
Я немного не знаком с тонкостями потока и задач, и что такое STA. На данный момент это все окно, и то, что я пытаюсь работать.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -lest-of-p
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как оставить окно консоли открытым после выполнения?
    Гость » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Гость
  • MvvmCross Navigation, чтобы открыть новую Windows и оставить оригинал открытым
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как оставить меню переполнения открытым
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как оставить меню переполнения открытым
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • В Linux, как я могу создать сценарий оболочки для запуска команды в эмуляторе терминала и оставить терминал открытым, чт
    Anonymous » » в форуме Linux
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»