IsLightDismissEnabled = "True" does not actually reject the popup

I have a popup and I want to close it when I exit any point outside the popup. I searched, and everyone advised me to use the IsLightDismissEnabled property; however, if I touch outside, this will remove the popup, leaving everything inactive with a gray screen, as if it does not close the popup completely, this is my piece of code:

<Popup x:Name="logincontroler" IsOpen="False" Margin="0,190,896,276" IsLightDismissEnabled="True"> <StackPanel Height="300" Width="470" x:Name="popup" FlowDirection="RightToLeft"> <Grid Width="470" Background="White" > <Grid.RowDefinitions> <RowDefinition Height="70"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <RichEditBox Grid.Row="1" Height="250" TextWrapping="Wrap" FontSize="20" Name="notesPopupTextBox" FlowDirection="LeftToRight"/> <StackPanel Grid.Row="0" Orientation="Horizontal" Background="#FFE3E3E5"> <Button Name="CanclePopupButton" Content="Cancel" Width="64" Height="64" Click="CanclePopupButton_Click" /> <Button Name="ClearNotePopupButton" Content="Clear" Width="64" Height="64" Click="ClearNotePopupButton_Click" /> <Button Name="saveNoteButton" Content="Save" Width="64" Height="64" Click="saveNoteButton_Click" /> <TextBlock FontWeight="Medium" FontSize="40" Foreground="#2a2a86" Margin="170 12 0 0">Note</TextBlock> </StackPanel> </Grid> </StackPanel> </Popup> 

this is my event code

  private void ShowButton_Click(object sender, RoutedEventArgs e) { logincontroler.IsOpen = true; flipView1.IsEnabled = false; } private void CanclePopupButton_Click(object sender, RoutedEventArgs e) { logincontroler.IsOpen = false; flipView1.IsEnabled = true; } 

Did I miss something? thanks in advance

+5
source share
1 answer

Are you sure that there is no other code in the application that you don’t show us?
There should not be a gray window behind the popup.
I just checked your code on an empty Windows 8.1 application (XAML + C #) and it works great.

Try creating and running a Windows 8.1 application and make MainPage:

MainPage.xaml

 <Page x:Class="App19.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App19" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" RequestedTheme="Light"> <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Popup x:Name="logincontroler" IsOpen="False" Margin="0,190,896,276" IsLightDismissEnabled="True"> <StackPanel Height="320" Width="470" x:Name="popup" FlowDirection="RightToLeft"> <Grid Width="470" Background="BurlyWood" > <Grid.RowDefinitions> <RowDefinition Height="70"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <RichEditBox Grid.Row="1" Height="250" TextWrapping="Wrap" FontSize="20" Name="notesPopupTextBox" FlowDirection="LeftToRight"/> <StackPanel Grid.Row="0" Orientation="Horizontal" Background="#FFE3E3E5"> <Button Name="CanclePopupButton" Content="Cancel" Width="64" Height="64" /> <Button Name="ClearNotePopupButton" Content="Clear" Width="64" Height="64" /> <Button Name="saveNoteButton" Content="Save" Width="64" Height="64" /> <TextBlock FontWeight="Medium" FontSize="40" Foreground="#2a2a86" Margin="170 12 0 0">Note</TextBlock> </StackPanel> </Grid> </StackPanel> </Popup> <Button Content="Show Popup" HorizontalAlignment="Left" Margin="692,260,0,0" VerticalAlignment="Top" Click="ShowButton_Click"/> </Grid> </Page> 

MainPage.xaml.cs

 using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; namespace App19 { /// <summary> /// An empty page that can be used on its own or navigated to within a Frame. /// </summary> public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); } private void ShowButton_Click(object sender, RoutedEventArgs e) { logincontroler.IsOpen = true; } } } 

That should work.
And comparing this to your solution should help you find the problem. If not, just edit your question with more information. (more code)

Note. I removed the click events from your popup, they were not necessary to demonstrate your problem, right?

+1
source

Source: https://habr.com/ru/post/1216342/


All Articles