lors de la définition des coordonnées pour les formes de toile dans les fichiers XAML, est-il possible de faire quelque chose comme ceci:coordonnées dans WPF Canvas
<Canvas x:Name="myCanvas"
DockPanel.Dock="Bottom"
VerticalAlignment="Stretch">
<Canvas.Background>
<SolidColorBrush Color="White" Opacity="100" />
</Canvas.Background>
<Ellipse x:Name="ell1"
Width="30"
Height="30"
Stroke="Black"
StrokeThickness="1"
Fill="Red"
Canvas.Left="100"
Canvas.Top="50" />
<Ellipse x:Name="ell2"
Width="30"
Height="30"
Stroke="Black"
StrokeThickness="1"
Fill="Red"
Canvas.Right="100"
Canvas.Top="50" />
<Line Stroke="Black"
StrokeThickness="1"
X1="ell1.Canvas.Right" *** look here ***
Y1="ell1.Canvas.Top + ell1.Height/2" *** look here ***
X2="ell2.Canvas.Left" *** look here ***
Y2="ell2.Canvas.Top + ell2.Height/2" /> *** look here ***
</Canvas>
Ou la seule façon de le faire est par C#?
Merci, Massimo
Oui, mais en C#. Pas moyen de le faire en XAML? – user1738687
Vous pouvez probablement lier les propriétés avec MultiBindings et les convertisseurs de liaison appropriés, mais sachez que 'Canvas.Right' n'est pas défini sur' ell1', et 'Canvas.Left' pas sur' ell2', donc leurs valeurs sont 'NaN' . Vous devez utiliser les propriétés que vous avez définies et ajouter/soustraire la largeur de l'ellipse selon vos besoins. – Clemens
Comme note, Opacity est une valeur double entre 0 et 1, vous devriez donc définir 'Opacity =" 1 "'. Cependant, c'est la valeur par défaut de toute façon, vous n'avez donc pas besoin de définir l'opacité de votre SolidColorBrush. Encore plus simple, définissez '' – Clemens