Je suis en train de détecter et fermer une boîte de dialogue WPF ouvert dans PowerPoint à l'aide d'un add-in VSTO. Lorsque j'utilise la solution à partir de this question, cela ne semble pas fonctionner car System.Windows.Application.Current
renvoient toujours un résultat nul tant qu'une boîte de dialogue est ouverte.
code
Au lieu d'utiliser la Winform par défaut comme boîte de dialogue, ma boîte de dialogue est une fenêtre WPF, par exemple,
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
x:Name="Test"
WindowStyle="None"
SizeToContent="WidthAndHeight">
...
</Window>
Voici le code-behind:
namespace AddInProject.Classes
{
public partial class DlgCustomWindow:Window, IDisposable
{
public CustomWindow()
{
InitializeComponent();
}
public Dispose()
{
this.Close();
}
}
}
J'utilise cette méthode pour ouvrir la fenêtre WPF ci-dessus
using (DlgCustomWindow dlgCustom = new DlgCustomWindow())
{
dlgCustom.ShowDialog();
}
Mais l'exécution System.Windows.Application.Current
renvoie toujours null.