Всплывающее окно WPF не работает должным образом для меня. Таким образом, поведение отображается всплывающее окно, когда мышь вводит кнопку «Test:», и после этого нажатие кнопки «Закрыть», которая находится во всплывающем меню, скроет всплывающее окно. Все работает нормально, пока я не нажму кнопку «Test». После этого событие Mouse событие увольняют на кнопку «Test», но всплывающее окно не отображается.Всплывающее окно WPF исчезает магически
было бы здорово, если бы кто-то сможет помочь мне здесь.
Спасибо, Код
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid Margin="10">
<Button x:Name="btnTest" Width="100" Height="25"
MouseEnter="btnTest_MouseEnter">Test Button</Button>
<Popup Name="MyPopup"
PlacementTarget="{Binding ElementName=btnTest}"
Placement="Mouse"
StaysOpen="False">
<StackPanel Background="PaleGreen">
<Label HorizontalAlignment="Center">I am a popup</Label>
<Button Click="Hide_Click" Content="Close"/>
</StackPanel>
</Popup>
</Grid>
</Grid>
Код за
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Input;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Show_Click(object sender, RoutedEventArgs e)
{
MyPopup.IsOpen = true;
}
private void Hide_Click(object sender, RoutedEventArgs e)
{
MyPopup.IsOpen = false;
}
private void btnTest_MouseEnter(object sender, MouseEventArgs e)
{
MyPopup.IsOpen = true;
}
}
}
Ваша тестовая кнопка не имеет события щелчка ... или я что-то пропустил? – Steve
@steve, хотя у него нет обратного вызова клика, вы должны уметь видеть объясненное поведение. – MChicago
Вы сказали, что все работает нормально, пока вы не нажмете на кнопку. Но кнопка не запускает событие, чтобы открыть всплывающее окно, а StaysOpen = «False». Итак, что именно вы ожидаете ... – Steve