Ich möchte ein Popup öffnen, wenn der Fokus auf einem Textfeld liegt Hier ist der Code, den ich geschrieben habe:
<Window x:Class="Testpopup.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>
<StackPanel>
<TextBox x:Name="text" GotKeyboardFocus="text_GotKeyboardFocus" />
<Button Click="Button_Click" Content="but"/>
<Popup x:Name="popup" Width="100" Height="100" PlacementTarget="{Binding ElementName=text}"
StaysOpen="False">
<Grid>
<StackPanel>
<DatePicker />
<TextBox />
</StackPanel>
</Grid>
</Popup>
</StackPanel>
</Grid>
private void Button_Click(object sender, RoutedEventArgs e)
{
popup.IsOpen = true;
}
private void text_GotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
popup.IsOpen = true;
}
Wenn ich auf die Schaltfläche klicke, funktioniert alles einwandfrei. Wenn ich auf das Textfeld klicke, öffnet und schließt sich das Popup
Wenn ich StaysOpen="False" entferne, wird das Popup geöffnet, aber nicht geschlossen.
Ich versuche, den Fokus auf das Popup zu setzen, bevor ich es öffne, aber das funktioniert nicht so gut.
Haben Sie eine Idee?
Vielen Dank! Nidal.