Question

Je veux ajouter WPF chemin à InkCanvas et utiliser la sélection pour sélectionner Chemin WPF. Donc, j'utilise ce code.

System.Windows.Shapes.Path path = drawCanvas.Children[i] as System.Windows.Shapes.Path;    
drawCanvas.Children.RemoveAt(i);
inkCanvas.Children.Add(path);

Ceci est la sortie. Je dois choisir WPF Chemin de 0,0 car commencent de 0,0 Actualwidth et ActualHeight.

text alt

Comment sélectionner le chemin WPF absolu?

Merci

Modifier

Maintenant, je peux le sélectionner absolument en utilisant ce code.

System.Windows.Shapes.Path path = drawCanvas.Children[i] as System.Windows.Shapes.Path;
drawCanvas.Children.RemoveAt(i);
path.Margin = new Thickness(-getMinX(path), -getMinY(path), 0, 0);
containPath.Children.Add(path);
containPath.Width = getMaxX(path) - getMinX(path);
containPath.Height = getMaxY(path) - getMinY(path);
containPath.Margin = new Thickness(getMinX(path), getMinY(path), 0, 0);
inkCanvas.Children.Add(containPath);

Autres conseils

Pour les éléments qui ne peuvent être définis par l'intermédiaire de points de contrôle (par exemple la ligne, chemin, etc comme contre Rectangle, Ellipse, etc.) lorsque vous l'ajoutez à un contrôle d'éléments (que je suppose que le InkCanvas est, car il prend en charge la sélection), d'abord une toile Il est ajouté au panneau à 0,0. La largeur et la Height de la toile sont déterminées à partir des coordonnées X et Y maximale des points de contrôle. Après cela, l'élément est ajouté en tant qu'enfant de cette toile.

Vous verrez aussi que chaque fois que vous voyez ce genre de comportements avec un élément, l'élément de soutien wont Propriétés de mise en page comme horizontal / alignement vertical etc.

La seule façon que je vois autour est de trouver le ActualWidth et ActualHeight manuellement à partir des coordonnées dans le chemin.

Edit:. Ceci est une expérience personnelle et non de toute la documentation

scroll top