
This is my code I copied into a new WPF .NET Core 3.1 application
<Window
x:Class="ActiProTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:ActiProTest"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:shared="http://schemas.actiprosoftware.com/winfx/xaml/shared"
xmlns:syntaxeditor="http://schemas.actiprosoftware.com/winfx/xaml/syntaxeditor"
Title="MainWindow"
Width="800"
Height="450"
mc:Ignorable="d">
<Grid>
<Button Name="BtnAbc" Margin="279,149,412,217">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="Popup1" Storyboard.TargetProperty="IsOpen">
<DiscreteBooleanKeyFrame KeyTime="0:0:0" Value="True" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Button.Triggers>
Test
</Button>
<Popup
Name="Popup1"
Placement="Bottom"
PlacementTarget="{Binding ElementName=BtnAbc}"
StaysOpen="False">
<Border
Background="White"
BorderBrush="Black"
BorderThickness="1">
<shared:ResizableContentControl
x:Name="resizablePopup"
Width="400"
Height="200">
<syntaxeditor:SyntaxEditor
x:Name="Editor123"
VerticalContentAlignment="Top"
AcceptsTab="True"
AreWordWrapGlyphsVisible="True"
HasHorizontalSplit="False"
HorizontalScrollBarVisibility="Visible"
IsTextDataBindingEnabled="True"
IsWordWrapEnabled="True"
Loaded="custom_Loaded"
Text="{Binding Instruction, UpdateSourceTrigger=PropertyChanged}"
VerticalScrollBarVisibility="Visible">
<syntaxeditor:EditorDocument />
<syntaxeditor:SyntaxEditor.InputBindings>
<KeyBinding
Key="S"
Command="syntaxeditor:EditorCommands.RequestIntelliPromptInsertSnippetSession"
Modifiers="Alt" />
</syntaxeditor:SyntaxEditor.InputBindings>
</syntaxeditor:SyntaxEditor>
</shared:ResizableContentControl>
</Border>
</Popup>
</Grid>
</Window>
using ActiproSoftware.Windows.Controls.SyntaxEditor;
using ActiproSoftware.Windows.Controls.SyntaxEditor.IntelliPrompt;
using ActiproSoftware.Windows.Controls.SyntaxEditor.IntelliPrompt.Implementation;
using System.IO;
using System.Windows;
namespace ActiProTest
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void custom_Loaded(object sender, RoutedEventArgs e)
{
((SyntaxEditor)sender).Document.Language.RegisterService(new CodeSnippetProvider
{
RootFolder = LoadCodeSnippetFolderFromResources()
});
new DisplayItemClassificationTypeProvider().RegisterAll();
}
static ICodeSnippetFolder LoadCodeSnippetFolderFromResources()
{
var snippetsFolder = new CodeSnippetFolder("snippets");
CodeSnippetSerializer serializer = new CodeSnippetSerializer();
foreach (string path in Directory.GetFiles(Path.Combine(@"C:\Users\Dirk\Documents\Actipro Software\WPF-Controls\v19.1.0686\SampleBrowser\ProductSamples\SyntaxEditorSamples\Languages\Snippets\CSharp"), "*.snippet"))
{
foreach (var snippet in serializer.LoadFromFile(path))
snippetsFolder.Items.Add(snippet);
}
return snippetsFolder;
}
}
}
and this is a GIF demonstrating the issue: https://imgur.com/a/SZZRzbH
1. I click on the button
2. I click inside the popup
3. I press ALT+S
4. I click on for snippet
5. I click outside of the popup, popup stays opened
6. I click inside popup and then outside popup and popup closes as expected.