2010-08-05 6 views
3

J'ai un contrôle tiers (Visifire) qui a un espace de nom qui utilise le "." format. Cela fonctionne correctement dans une application WPF, mais pas dans un UserControl car il génère un "assembly introuvable" si vous essayez d'inclure l'espace de noms. Cela signifie que je dois utiliser du code pour ajouter le contrôle, configurer les liaisons, etc, etc, ce qui est assez ennuyeux car je préférerais utiliser XAML. Ma pensée était de tromper le UserControl en utilisant les éléments suivants:Tromper un Usercontrol pour autoriser "." namespaces

namespace MyControl 
{ 
    public class MyChart : Visifire.Charts.Chart 
    { 
    public MyChart() : base() {} 
    } 

    public partial Chart : UserControl 
    { 
    // All the control stuff goes here 
    } 
} 

Puis, en XAML, je voudrais utiliser:

xmlns:local="clr-namespace:MyControl" 

<Grid> 
    <local:MyChart> 
    </local:MyChart> 
</Grid> 

Cela ne semble pas fonctionner, car il génère une exception. Quelqu'un a-t-il des conseils sur comment je pourrais contourner cela? Merci beaucoup!

Répondre

2

Vous pouvez utiliser:

<Grid xmlns:charts="clr-namespace:Visifire.Charts;assembly=Visifire"> 
    <charts:Chart>...</charts:Chart> 
</Grid> 

Pour importer un espace de noms entièrement qualifié, ne fonctionne pas que pour vous?