Visual Studio 2010 SP1 - Silverlight 5 - i Behavior in Visual Basic disabilitano l'intellisense sullo XAML
-
Monday, June 11, 2012 9:14 AM
Salve a tutti!
Apro un nuovo thread per una questione che avevo già proposto precedentemente in quanto ho degli elementi nuovi che trasformano la domanda. Naturalmente se avrò risposta provvederò ad aggiornare anche quel vecchio thread.
Il problema è questo: l'intellisense per il codice XAML della mia applicazione Silverlight 5 creata con Visual Studio 2010 SP1 è disabilitato. Mi sono accorrto che questo dipende dalla presenza nel progetto Silverlight di alcuni Behavior: se commento i Behavior l'intellisense ritorna a funzionare. Il problema si verifica indipendentemente dal tipo di Behavior, anche con un Behavior vuoto.
Altro particolare: se scrivo lo stesso codice in un progetto C#, l'intellisense lavora bene.
Questo il mio codice Visual Basic:
-Nei riferimenti del progetto ho aggiunto System.Windows.Interactivity
-Nel code-behind:
Public Class MyBehavior
Inherits System.Windows.Interactivity.Behavior(Of DependencyObject)' posso anche lasciarlo vuoto
End Class- Nello XAML della pagina aggiungo questi namespace:
xmlns:c="clr-namespace:myCurrentAssembly"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"L'intelllisense ricomincia a funzionare se rimuovo il Behavior o se rimuovo il namespace c dalla pagina.
Non so come fare...
Pileggi
PS Un altro particolare scoperto recentemente: se io metto il Behaviour dentro la class della MainPage l'intellisense ritorna a funzionare.Partial Public Class MainPage
Inherits UserControlPublic Class MyBehaviour
Inherits System.Windows.Interactivity.Behavior(Of DependencyObject)End Class
End ClassPerò così non posso più usarlo, in quanto non è più accessibile dal namespace c...
xmlns:c="clr-namespace:myCurrentAssembly"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"<Button Name="Button1">
<i:Interaction.Behaviors>
<c:MyBehaviour/>
</i:Interaction.Behaviors>
< /Button>
- Edited by pileggi Friday, June 15, 2012 10:19 AM
All Replies
-
Monday, June 11, 2012 9:47 AMAnswerer
-
Monday, June 11, 2012 10:01 AM
-
Monday, June 11, 2012 11:52 AMAnswererStranissimo, ho tonnellate di codice Silverlight con behavior custom enon ho problemi con l'intellisense.L'unica cosa che mi viene da pensare è che stai, per qualche motivo,referenziando una libreria Interactivity non compatibile o che mandaqualche altro riferimento.Prova con un progetto nuovo aggiungendo un behavior di Blend.
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - http://www.ugidotnet.org
Weblog: http://blogs.ugidotnet.org/corrado/
Twitter: http://twitter.com/corcav -
Monday, June 11, 2012 3:07 PM
Provato... niente, stesso risultato. Posso aggiungere solo un particolare: in un progetto C# non succede, però la versione della libreria Interactivity è la stessa. La mia ipotesi è che l'intellisense vada in palla con i riferimenti ai namespaces nella pagina. Forse C#, che specifica sempre anche il namespace corrente, riesce a evitare questo errore. Mi sa che mi arrendo, se non viene fuori altro me lo tengo così. Grazie in ogni caso! PileggiStranissimo, ho tonnellate di codice Silverlight con behavior custom enon ho problemi con l'intellisense.L'unica cosa che mi viene da pensare è che stai, per qualche motivo,referenziando una libreria Interactivity non compatibile o che mandaqualche altro riferimento.Prova con un progetto nuovo aggiungendo un behavior di Blend.
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - http://www.ugidotnet.org
Weblog: http://blogs.ugidotnet.org/corrado/
Twitter: http://twitter.com/corcav -
Thursday, June 14, 2012 4:22 PM
Provato... niente, stesso risultato. Posso aggiungere solo un particolare: in un progetto C# non succede, però la versione della libreria Interactivity è la stessa. La mia ipotesi è che l'intellisense vada in palla con i riferimenti ai namespaces nella pagina. Forse C#, che specifica sempre anche il namespace corrente, riesce a evitare questo errore. Mi sa che mi arrendo, se non viene fuori altro me lo tengo così. Grazie in ogni caso! Pileggi
Un altro particolare se io metto il Behaviour dentro la class della MainPage l'intellisense ritorna a funzionare.
Partial Public Class MainPage
Inherits UserControlPublic Class MyBehaviour
Inherits System.Windows.Interactivity.Behavior(Of DependencyObject)End Class
End ClassPerò così non posso più usarlo, in quanto non è più accessibile dal namespace c...
xmlns:c="clr-namespace:myCurrentAssembly"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"<Button Name="Button1">
<i:Interaction.Behaviors>
<c:MyBehaviour/>
</i:Interaction.Behaviors>
</Button>Oltre alla diffcoltà di dover adattare (ammesso che sia possibile adattarlo) il codice contenuto dentro il Behavior.
A meno di qualche nuovo suggerimento sono ancora senza intellisense...
Pileggi
- Edited by pileggi Friday, June 15, 2012 10:19 AM
-
Wednesday, June 27, 2012 10:46 AMStranissimo, ho tonnellate di codice Silverlight con behavior custom enon ho problemi con l'intellisense.L'unica cosa che mi viene da pensare è che stai, per qualche motivo,referenziando una libreria Interactivity non compatibile o che mandaqualche altro riferimento.Prova con un progetto nuovo aggiungendo un behavior di Blend.
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - http://www.ugidotnet.org
Weblog: http://blogs.ugidotnet.org/corrado/
Twitter: http://twitter.com/corcavSalve Corrado,
Nel frattempo ho messo il problema su Connect
c'è anche un progettino di test da scaricare.
Purtroppo ancora non mi hanno risposto :-(
Non sono certo che la cosa si verifichi a tutti e sia un bug universale di Visual Studio. Potresti per favore confermarmi che il progettino di test che ho messo su connect da lo stesso problema anche a te (non c'è l'intellisense sullo XAML)?
Pileggi
-
Wednesday, June 27, 2012 10:53 AM
Ciao pileggi,
You wrote on 27/06/2012 :
Non sono certo che la cosa si verifichi a tutti e sia un bug universale di Visual Studio. Potresti per favore confermarmi che il progettino di test che ho messo su connect da lo stesso problema anche a te (non c'è l'intellisense sullo XAML)?
Stesso problema anche da me, mentre su VS12 va, prova a definire il behavior in un altro assembly.
.m
blog @ //milestone.topics.it- Marked As Answer by pileggi Wednesday, April 17, 2013 3:45 PM
-
Thursday, June 28, 2012 8:52 AM
Ciao pileggi,
You wrote on 27/06/2012 :
Non sono certo che la cosa si verifichi a tutti e sia un bug universale di Visual Studio. Potresti per favore confermarmi che il progettino di test che ho messo su connect da lo stesso problema anche a te (non c'è l'intellisense sullo XAML)?
Stesso problema anche da me, mentre su VS12 va, prova a definire il behavior in un altro assembly.
.m
blog @ //milestone.topics.itOk su un altro assembly va, ma diventerebbe molto più difficile gestire il codice dei vari Behavior, per adesso me lo tengo così. Grazie comunque.

