Всплывающее окно WPF не сворачивается при нажатии на значок приложения на панели задач

Ниже мой код.

popupTargetPlacementWindow.LocationChanged += delegate(object obj, EventArgs args)
                {
                    if (ErrorPopUp.IsOpen == true)
                    {
                        ErrorPopUp.IsOpen = false;
                        ErrorPopUp.IsOpen = true;                        
                    }
                };
                popupTargetPlacementWindow.Deactivated += delegate(object obj, EventArgs args)
                {                    
                    ErrorPopUp.IsOpen = false;                    
                };
                popupTargetPlacementWindow.Activated += delegate(object obj, EventArgs args)
                {                    
                    ErrorPopUp.IsOpen = true;                    
                };

Проблема с этим кодом заключается в том, что когда я использую кнопку сворачивания, чтобы минимизировать приложение, оно работает нормально (всплывающее окно управления wpf не отображается), но когда я нажимаю на значок приложения на панели задач, чтобы свернуть приложение, оно вызывает проблему (всплывающее окно управления wpf все еще отображается в верхний левый угол окна рабочего стола). я использую Window.ResizeMode = ResizeMode.CanMinimize флаг для нашего приложения.

Проблема, которую я обнаружил, - это событие Activated, которое вызывается при нажатии на значок приложения на панели задач, следовательно, устанавливается ErrorPopUp.IsOpen = true; следовательно, всплывающее окно wpf не исчезает, в то время как нажатие кнопки сворачивания не вызывает событие Activated, следовательно, исчезает всплывающее окно wpf.

Любая помощь в этом отношении, как заставить этот код работать так, чтобы нажатие на иконку приложения на панели задач также исчезло, всплывающее окно wpf было бы очень полезно.

Ниже приведен мой код управления всплывающими окнами wpf.

<Image Name="IconInfoTooltip" Source="{Binding TooltipImageSource}" Height="20" Width="20" Margin="575,70,25,325" RenderTransformOrigin="0,0.7" /Image> 
<Popup Name="ErrorPopUp" IsOpen="{Binding IsErrorPopUpOpen}" AllowsTransparency="True" Width="320" Height="Auto" HorizontalAlignment="Right" HorizontalOffset="-280" VerticalOffset="-2" PlacementTarget="{Binding ElementName=IconInfoTooltip}" Placement="Top">
<Grid x:Name="grid" Height="Auto" Width="Auto" Background="Transparent">
<Border BorderBrush="#ffc64a" BorderThickness="1" Background="LightYellow" CornerRadius="5" Padding="5">
<StackPanel>
<StackPanel>
<BulletDecorator>
<BulletDecorator.Bullet>
<Ellipse Height="6" Width="6" Fill="Black"/>
</BulletDecorator.Bullet>
<TextBlock Text="{Binding Message3}" Foreground="Black" TextWrapping="Wrap" Margin="5,0,0,0"/>
</BulletDecorator>
</StackPanel>
<StackPanel>
<BulletDecorator>
<BulletDecorator.Bullet>
<Ellipse Height="6" Width="6" Fill="Black"/>
</BulletDecorator.Bullet>
<TextBlock Text="{Binding Message2}" Foreground="Black" TextWrapping="Wrap" Margin="5,0,0,0"/>
</BulletDecorator>
</StackPanel>
<StackPanel>
<BulletDecorator>
<BulletDecorator.Bullet>
<Ellipse Height="6" Width="6" Fill="Black"/>
</BulletDecorator.Bullet>
<TextBlock Text="{Binding Message1}" TextWrapping="Wrap" Margin="5,0,0,0"/>
</BulletDecorator>
</StackPanel>
</StackPanel>
</Border>

0 ответов

Другие вопросы по тегам