2017-07-13 3 views
0

J'essaie de dessiner une ellipse en utilisant dynamiquement le contrôle Path.Spécifier un contrôle de chemin à l'aide du code derrière dans WPF

Dans mon MainWindow():

EllipseGeometry ellipse = new EllipseGeometry(new Point(50, 50), 45, 20); 

var path = new Path(); 
path.VerticalAlignment = VerticalAlignment.Top; 
path.HorizontalAlignment = HorizontalAlignment.Left; 

path.Fill = Brushes.Black; 
path.Stroke = new SolidColorBrush(Colors.Green); 
path.StrokeThickness = 2; 
path.Data = ellipse; 

mais rien ne montre.

J'ai réalisé que je devais "associer" l'objet path à ma boîte de dialogue mais je ne sais pas comment faire. Existe-t-il un moyen d'accomplir ceci par des méthodes non-XAML puisque je devrais générer dynamiquement beaucoup de différents objets path?

+1

Ajoutez-le à la collection Children d'un Panel dans votre fenêtre. Cela dit, vous ne devriez pas créer l'élément Path dans le code derrière. Au lieu de cela, déclarez-le en XAML et liez sa propriété Path à une propriété de type Geometry dans votre modèle de vue ou dans votre classe de fenêtre. – Clemens

Répondre

0

Tout ce que vous manquez est essentiellement que:

SamplePanel.Children.Add(path); 

qui précède suppose qu'il ya un groupe nommé SamplePanel en XAML, par exemple de la fenêtre

<Grid x:Name="SamplePanel" />