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

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

Сообщение Anonymous »

В приложении WPF я пытаюсь создать вторичное окно регистрации, которое запускается и ловит события через наблюдаемая коллекция, как только операция инициирует. Однако. Я столкнулся с двумя проблемами, и я не уверен, как их решить. Очевидно, ожидаемое поведение, если я не делал что -то не так? < /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 ... of-process
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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