Est-il possible de construire un WPF UserControlSegmentControl
, ayant des similitudes avec les coordonnées de forme de ligne (X1, Y1) et (X2, Y2)?Construire une ligne UserControl
Je l'ai déjà construit une ligne personnalisée Shape
, mais je besoin d'un UserControl
, parce que je rajoute quelques éléments personnalisables supplémentaires, comme du texte et des balles à elle.
je construit un code, mais pense que je besoin d'aide:
<UserControl>
<!-- internal Canvas; The UsrCtrl Parent is supposed to be a Canvas too -->
<Canvas>
<Line x:Name="line" Stroke="Black" StrokeThickness="1"></Line>
<Label x:Name="label" Content="Paris - Moscow"/>
</Canvas>
</UserControl>
* .cs
public partial class SegmentControl : UserControl
{
#region dependency properties
public static readonly DependencyProperty X1Property;
...
static void OnXYChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
{
SegmentControl s = source as SegmentControl;
UpdateControlPositionAndSize(s);
}
static void UpdateControlPositionAndSize(SegmentControl sc)
{
double left = Math.Min(sc.X1, sc.X2);
double top = Math.Min(sc.Y1, sc.Y2);
double width = sc.X2 - sc.X1;
double height = sc.Y2 - sc.Y1;
Canvas.SetLeft(sc, left);
Canvas.SetTop(sc, top);
sc.Width = width;
sc.Height = height;
sc.line.X1 = sc.X1; // ??
sc.line.Y1 = sc.Y1; // ??
sc.line.X2 = sc.X2; // ??
sc.line.Y2 = sc.Y2; // ??
}
Qu'est-ce que X1 et X2 Y1 Y2 signifie dans ce contexte? Sont-ils les coordonnées de votre segment à l'intérieur de votre contrôle? –
@Nicolas Repiquet x1, y1, x2 et y2 signifie la même chose que pour une forme de ligne que cela signifie. les coordonnées de la ligne (dans mon cas concret dans un canevas) des points "extrêmes". – serhio