2009-01-27 8 views
1

J'ai un problème avec trouver comment faire référence à un canevas dans un autre fichier XAML dans mon projet.Comment faire référence à Canvas dans un autre fichier XAML?

Par exemple, il est un objet de toile contenant des étiquettes, des images appelées MyLayout et sont stockées dans MyLayout.xaml

Je veux utiliser cette toile dans la fenêtre principale de l'application dans Window.xaml. Comment cela peut-il être fait? Il y aura plusieurs mises en page qui seront nécessaires pour être chargé dans la fenêtre.

Tout le XAML est dans le projet et compilé il ne peut pas être chargé à partir d'un fichier. Comment puis-je faire référence à l'objet Canvas dans le fichier MyLayout.xaml dans le fichier Window.xaml?

Ceci peut être en code XAML, VB.NET ou même C#.

J'ai cherché des heures essayant de comprendre ceci. Comment utiliser un objet d'un fichier XAML dans un autre? Comment cela est-il fait?

Merci d'avance. J'espère que quelqu'un sait comment faire cela.

Répondre

1

Avez-vous pensé à utiliser un UserControl ou ControlTemplate?

0

Étant donné que votre objet Canvas est en réalité une sous-classe de Canvas, cette sous-classe est définie dans votre assembly. Vous pouvez référencer des objets définis dans d'autres espaces de noms en ajoutant un autre attribut xmlns à l'objet XAML racine.

Quelque chose comme ceci (en supposant que votre sous-classe Canvas est appelée MyCanvas dans l'espace de noms MyNamespace):

<Window x:Class="MyNamespace.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:MyNamespace"> 
    <local:MyCanvas /> 
</Window> 

Vous pouvez définir les propriétés de la classe MyCanvas comme tout autre objet.

Questions connexes