繁体   English   中英

WPF-如何以编程方式在自定义控件之间画线

[英]WPF - How to draw lines between custom controls programmatically

因此,我正在尝试制作一个程序,允许用户使用WPF中具有不同功能的模块来设计简单程序。

我为模块创建了自定义控件,如下所示:

    <Border Height="75" Width="150" BorderThickness="1" BorderBrush="Black">
    <Grid Background="Gray" Height="75" Width ="150">
        <Grid.RowDefinitions>
            <RowDefinition Height="1*"/>
            <RowDefinition Height="2*"/>
        </Grid.RowDefinitions>
        <Label Content="Double" FontSize="12" Grid.Row="0" HorizontalContentAlignment="Center" Background="Aquamarine"/>
        <Grid Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition Width="3*"/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <Button Name="IncomingConnection" Height="15" Width="15" Background="Black" Margin="5" VerticalAlignment="Top" HorizontalAlignment="Left"/>

            <Button Name="OutgoingConnection" Grid.Column="2" Height="15" Width="15" VerticalAlignment="Top" Background="Black" Margin="5" HorizontalAlignment="Right"/>
            <Button Name="OutgoingData" Grid.Column="2" Height="15" Width="15" VerticalAlignment="Bottom" Background="Aquamarine" Margin="5" HorizontalAlignment="Right"/>
        </Grid>
    </Grid>
</Border>

无论如何,我希望能够单击这些按钮之一(incomingConnection或outingConnection),并用一条线连接这两个按钮。

其他信息:自定义控件都放在拇指内部,因此可以拖动它们。 一切都在画布上。 我不想在控件之间创建一条线,而是在控件上的按钮之间创建一条线。

万分感谢!

我将为包含两个端点的x和y坐标的行创建一个类。 我将每行的一个实例放入视图模型的列表中。 然后使用以Canvas为模板绑定到该属性的ItemsControl 然后,您可以将WPF Line控件用作ItemsControlItemTemplate 您可以将Line控件的X1Y1X2Y2绑定到开头创建的Line类的端点属性。

使用该设置,您所要做的就是将您的线型实例添加到列表中,它们将自动显示在Canvas

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM