Мне нужно отобразить всплывающее окно при щелчке MenuItem. Я написал следующий код для этого:Popup не работает над MenuItem
<ContextMenu>
<Border>
<MenuItem Name="ack" Header="ACK" HorizontalAlignment="Center" Command="{Binding AcknowledgeCommand}" Visibility="{Binding IsAcked, Converter={StaticResource showOnFalse}}" Click="MenuItem_Click_1"/>
</Border>
<Separator/>
<Border>
<MenuItem Header="Info" HorizontalAlignment="Center" Click="MenuItem_Click"/>
</Border>
<Separator/>
<Border>
<MenuItem Header="Goto" HorizontalAlignment="Center"/>
</Border>
<Popup Name="infoPopup" Placement="Mouse" HorizontalOffset="-100" VerticalOffset="-100" AllowsTransparency="True" StaysOpen="True">
<Alarms:UserControl_MYUC DataContext="{Binding TopMost}" Background="{DynamicResource DetailPanelCompartmentTitleBg}" BorderBrush="{DynamicResource SecWindowBtnBorder}"/>
</Popup>
</ContextMenu>
OnClick из MenuItem, я написал следующий код:
private void MenuItem_Click(object sender, RoutedEventArgs e)
{
infoPopup.Visibility = System.Windows.Visibility.Visible;
infoPopup.IsOpen = true;
}
Я могу видеть всплывающее окно нажатием кнопки Info, но всплывающее окно проходит через секунду. Я хочу, чтобы он был видимым до тех пор, пока пользователь не нажмет какую-либо другую область или всплывающее окно не потеряет фокус. Пожалуйста, предложите, что делать.
Как вы показываете всплывал? –
Я отредактировал вопрос и предоставил ответ на ваш вопрос @NahuelIanni – MOHIT