Alessandro Del Sole's Blog

/* A programming space about Microsoft® .NET® */

  Home :: Contact :: Syndication  :: Login
  1204 Posts :: 64 Stories :: 1555 Comments :: 251 Trackbacks

News

Your host

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

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

Microsoft MVP

My MVP Profile

My MVP Corner Page

Il mio libro su VB2010!

Il mio nuovo libro su Visual Basic 2010 E' uscito il mio libro "Visual Basic 2010 Unleashed". Clicca sulla copertina per informazioni!

Visual Basic Tips & Tricks Team Member

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Windows Live Alerts

Vsi Builder 2008

Il mio tool per VS 2005/2008 Scarica Vsi Builder, il mio tool per Visual Studio 2005/2008!

Aggiungimi al Social MSDN!

Dove vivo

Contattami su Messenger


Grab this badge here!

Guarda i miei webcast MSDN

CyberInstaller Beta Tester

Scarica il nuovo CIS 2009!!

Altri spazi

CodePlex download Scarica i miei progetti open-source su CodePlex!

Cerca nel blog



Seguimi su Twitter!

Article Categories

Archives

Post Categories

Image Galleries

.NET Framework

Back to basics

Blogroll

Help 1.x e 2.0

Microsoft & MSDN

Setup & Deployment

Visual Basic .NET e 2005

In un precedente post abbiamo visto come, utilizzando Visual Basic 2008 e i Visual Studio Tools for Office, sia possibile utilizzare controlli Windows Forms nelle soluzioni a livello di documento per Word ed Excel 2007.

In realtà, è possibile utilizzare anche controlli Windows Presentation Foundation anche se questa tecnica richiede qualche passaggio in più, dal momento che le applicazioni di Office non sono in grado di ospitare direttamente questo tipo di controlli; bisogna, quindi, ricorrere all’interoperabilità tra le due tecnologie.

Ipotizzate di aver creato una soluzione Visual Basic 2008 per la gestione di un documento di Excel 2007. Il primo passaggio da realizzare è quello di creare un controllo utente Windows Forms, aggiungendolo alla soluzione. Dalla toolbox, trascinate sulla superficie del controllo un oggetto ElementHost e impostatene la proprietà Dock su Fill.

 

Fatto questo, aggiungete un riferimento ai seguenti assembly di WPF:

 

·         WindowsBase.dll

·         PresentationCore.dll

·         PresentationFramework.dll

 

A questo punto si può passare ad implementare un controllo WPF utilizzando codice managed (non possiamo, ovviamente, farlo tramite XAML). Vogliamo, all’interno dell’user control, aggiungere un controllo Expander di WPF. Ipotizzando di aver rinominato il nostro user control in HostUserControl.vb, attivate l’editor di codice su di esso e digitate quanto segue:

 

Imports System.Windows.Controls

Imports System.Windows.Media

 

Public Class HostUserControl

 

    Private Sub HostUserControl_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim ex As New Expander

 

        ex.Header = "Controllo WPF in Excel 2007"

        ex.Background = New SolidColorBrush(Colors.LightBlue)

        ex.BorderBrush = New SolidColorBrush(Colors.Black)

        ex.BorderThickness = New Windows.Thickness(2)

 

        Me.ElementHost1.Child = ex

    End Sub

End Class

 

Ora compilate la soluzione, affinchè la toolbox venga aggiornata con il nostro user control. Attivate il designer su uno qualsiasi dei fogli di lavoro della cartella di Excel 2007 e trascinate su di esso il controllo appena aggiunto alla toolbox. La seguente figura mostra il risultato ottenuto:

 

 

Come potete osservare, l’utilizzo di controlli WPF nelle soluzioni VSTO è un procedimento dalla logica piuttosto semplice, sebbene non si potrà sfruttare la potenza di XAML per gestire l’interfaccia dei controlli. Tuttavia, la scrittura del corrispondente codice managed vi consentirà di ottenere ugualmente risultati sorprendenti.

 

Alessandro

posted on Monday, February 18, 2008 10:32 PM

Feedback

# VSTO 2008: Un modello di controllo utente per usare controlli WPF (in VB 2008) 2/20/2008 9:53 PM Alessandro Del Sole's Blog


# WPF: utilizzo di controlli utente personalizzati nelle soluzioni VSTO 1/12/2009 6:57 PM Alessandro Del Sole's Blog


# Nasce Wpfitalia.it, dedicato alle nuove 12/14/2009 12:01 PM Il blog di Gianni Giaccaglini


# Nasce Wpfitalia, dedicato alla nuova tecnologia WPF 12/14/2009 12:36 PM Il blog di Gianni Giaccaglini


Post Feedback

Title:
Name:
Url:
Comments: 
Codice di sicurezza
Protected by FormShield