Я буду моделировать мою проблему, взяв две кнопки в примере приложения.В моем случае у меня есть UserControl вместе с tabcontrol.Когда на UserControl нажата кнопка, я пытаюсь получить родительское окно, отключаю его и выполняю некоторую работу с пользовательским интерфейсом в течение 1 минуты.После того, как пользовательский интерфейс свободен, я включаю родительское окно.
Моя проблема в том, что ParentWindow отключен, и когда пользователь нажимает на tabcontrol, пока пользовательский интерфейс занят, он не отвечает.Но как только пользовательский интерфейс выполняет свою работу, все пользовательские данные учитываются, и он сам переключает вкладки.Я хочу игнорировать пользовательский ввод, когда пользовательский интерфейс занят, пожалуйста, помогите.Какие-либо предложения?
В примере приложения есть xaml
<StackPanel Orientation="Vertical">
<Button Height="20" Width="180" Click="Button_Click"
>Hello</Button>
<Button Height="20" Width="180" Click="Button_Click_1">Do Nothing</Button>
</StackPanel>
В файле xaml.cs приведен код.Посмотрите, что я отключаю окно, но когда кнопка нажата, я получаю приветственное сообщение автоматически после освобождения пользовательского интерфейса.
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hello");
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
Window.GetWindow(this).IsEnabled=false;
Thread.Sleep(5000);
Window.GetWindow(this).IsEnabled=true;
}