라인 모양 좌표 (X1, Y1) 및 (X2, Y2)와 비슷한 WPF UserControlSegmentControl
을 빌드 할 수 있습니까?라인 사용자 정의 컨트롤 빌드
는 이미 사용자 정의 라인 Shape
을 구축,하지만 난 그것에 텍스트와 총알 같은 몇 가지 추가 사용자 정의 요소를 추가 때문에, UserControl
이 필요합니다.
<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; // ??
}
및 X2의 Y2는 이러한 맥락에서 의미
당신은 그것을 이런 식으로 뭔가를 사용합니다 :
귀하의 UserControl이 같은 것? 그들은 당신의 통제 안에 당신의 세그먼트의 좌표입니까? –
@Nicolas Repiquet x1, y1, x2 및 y2는 선 모양과 동일한 의미입니다. 선의 좌표 (캔버스 내 구체적인 경우)의 "극단적 인"점. – serhio