2009-11-18 5 views
0

Supposons que vous avez WPF fenêtre composé de de nombreux éléments qui utilisent DataTemplates/ControlTemplates (ItemControls ...) Mais vous voulez voir comment chaque DataTemplate ressemble dans VS Designer. De plus, si vous définissez un ControlTemplate à partir d'un modèle situé dans un autre fichier pour pouvoir l'afficher avec le contenu. Quelque chose comme MasterPage et ChildElements dans ASP.NET Vous pouvez toujours voir quels éléments avez-vous mis ensemble.WPF DataTemplate/ControlTemplate et designer VS2008

Est-ce aussi possible dans WPF? Sinon, chaque modification apportée au DataTemplate peut être vue après une compilation et un démarrage longs.

Merci les gars ..

Répondre

1

Pour ce faire, très simplement, situé à seulement DataContext dans votre constructeur:

public MyUserControl() 
{ 
#if !RELEASE 
    //DataContext = new CustomerList { Customers = new [] { 
    // new Customer { Name = "Contoso", ZipCode = 12345 }, 
    // new Customer { Name = "NorthWind", ZipCode = 12345 }, 
    //}}; 
#endif 
    InitializeComponent(); 
    ... 
} 

Notez que le fait que le code est commenté. Lorsque vous voulez voir des données, décommentez simplement le code. Le #if !RELEASE vous protège d'inclure accidentellement les données d'exemple dans votre version (et de dépenser n'importe quel CPU le chargeant).

Si vos données d'échantillon est grande, il suffit de mettre en XML ou dans une base de données et le charger:

public MyUserControl() 
{ 
#if !RELEASE 
    //DataContext = XmlSerializerManager.Deserialize<CustomerList>(
    // File.ReadAllBytes("CustomerSampleData.xml")); 
#endif 
    InitializeComponent(); 
    ... 
} 

Dans les deux cas, les données d'échantillon apparaissent dans le concepteur chaque fois que vous supprimez le code. Lors de l'exécution de votre application, il sera remplacé par les données réelles.

Questions connexes