Salut à tous, Après avoir surmonté ma peur du code SimpleCylinderGenerator.cs, je suis actuellement entrain de crée un projet WPF pour faire apparaitre un cylindre dans mon Viewport3D.
Charles Petzold a effectué a généré le Cylindre en XAML de la facon suivante (SimpleCylinderDemo project dans Foundation2007 sur http://msdn.microsoft.com/fr-fr/magazine/cc163449.aspx ) :
<!-- Bind to resource and MeshGeometry property. --> <GeometryModel3D Geometry="{Binding Source={StaticResource cylinder}, Path=MeshGeometry, Mode=OneTime}">
Moi je souhaite générer le cylindre en C# en non en XAML. Alors j'ai essayé de faire naivement :
Petzold.MeshGeometries.Cylinder MyCylinder = new Petzold.MeshGeometries.Cylinder(); //Points1 et Point2 Rayon1 ... myGeometryModel3D.Geometry = MyCylinder; myModel3DGroup.Children.Add(myGeometryModel3D);
et l'erreur est la suivantes: Error 1 Cannot implicitly convert type 'Petzold.MeshGeometries.Cylinder' to 'System.Windows.Media.Media3D.Geometry3D'
Ce qui me semble normal car je ne fait pas de binding.
Mes questions sont les suivante:
Comment faire un Binding en C# pour palier à mon problème? Y'a-til un avantage de Page sur Window dans le debut d'un fichier XAML?
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:pmg="clr-namespace:Petzold.MeshGeometries;assembly=Petzold.MeshGeometries" Title="Simple Cylinder Demo">
ou <Window xmlns=..../>
Merci Beaucoup, Sondos
|