Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Utilizzare in WPF il controllo HelpProvider di Windows Forms

In uno dei miei primi post su Windows Presentation Foundation, uno di quelli in cui ancora non sapevo neanche cosa fosse, chiesi come fosse possibile utilizzare il controllo HelpProvider di Windows Forms all'interno di WPF, che non ha un equivalente.

Immagino che questo argomento possa interessare anche coloro che hanno letto il mio libro e vogliano essere in grado di implementare funzionalità di help in applicazioni WPF oltre che nelle classiche in Windows Forms, cui il libro è dedicato.

Perciò, come anche suggerito dal grande Corrado Cavalli nei feedback a quel vecchio post, risolviamo il problema mediante l'interoperabilità tra le due tecnologie.

Creato un nuovo progetto WPF in Visual Studio 2005, si aggiungono in primo luogo due riferimenti agli assembly WindowsFormsIntegration.dll e System.Windows.Forms.dll.

Supponendo di avere un pulsante a cui è associato l'evento Click gestito da un metodo showHelp (nome di fantasia...), inseriamo il seguente codice nel file di code-behind:

Visual Basic:

    'Presuppone una direttiva Imports System.Windows.Forms
    Private helpProvider1 As New HelpProvider


    Private Sub showHelp(ByVal sender As Object, ByVal e As RoutedEventArgs)
        helpProvider1.HelpNamespace = "C:\Windows\Microsoft.net\Framework\v2.0.50727\ShFusion.chm"

        Help.ShowHelp(Nothing, helpProvider1.HelpNamespace)
    End Sub

Visual C#:

        //Presuppone una direttiva using System.Windows.Forms;
        private HelpProvider helpProvider1 = new HelpProvider();

        private void showHelp(object sender, RoutedEventArgs e)
        {
            helpProvider1.HelpNamespace = "C:\\Windows\\Microsoft.net\\Framework\\v2.0.50727\\ShFusion.chm";

            Help.ShowHelp(null, helpProvider1.HelpNamespace);
        }

Il codice mostrato richiama il file della guida relativo al visualizzatore della GAC di .NET, ovviamente potete sostituirlo con un qualsiasi file .chm di vostro gradimento. In questo modo, potete agganciare file della guida compilati alla vostra applicazione, in maniera analoga a quanto si fa in Windows Forms.

Alessandro

Print | posted on martedì 9 ottobre 2007 02:10 | Filed Under [ Windows Presentation Foundation ]

Powered by:
Powered By Subtext Powered By ASP.NET