LineContent座標(X1、Y1)および(X2、Y2)に似ているWPF UserControlSegmentControl
を構築できますか?Line UserControlを構築する
は、私はすでにカスタムライン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>
*ちょうどあなたが必要なポイントのユーザーコントロールにカスタムDependencyProperty
を作成し、そして結合については.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; // ??
}
:あなたはこのような何か、それを使用することになり
?彼らはあなたのコントロールの中にあなたのセグメントの座標ですか? –
@ニコラスRepiquet x1、y1、x2とy2は、それが意味する線の形と同じことを意味します。ラインの座標(私の具体的なケースでは、キャンバス) "極端な"ポイント。 – serhio