连接点显示

This commit is contained in:
艾竹
2023-05-02 14:28:51 +08:00
parent f52895a8a8
commit 06c3ddde7e
11 changed files with 93 additions and 4325 deletions

View File

@@ -203,7 +203,6 @@
<Grid Margin="{Binding ConnectorMargin}">
<dd:Connector
Content="{Binding LeftConnector}"
Cursor="Cross"
SnapsToDevicePixels="True"
Orientation="Left"
VerticalAlignment="Center"
@@ -211,7 +210,6 @@
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" />
<dd:Connector
Content="{Binding TopLeftConnector}"
Cursor="Cross"
SnapsToDevicePixels="True"
Orientation="TopLeft"
VerticalAlignment="Top"
@@ -219,7 +217,6 @@
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" />
<dd:Connector
Content="{Binding TopConnector}"
Cursor="Cross"
SnapsToDevicePixels="True"
Orientation="Top"
VerticalAlignment="Top"
@@ -227,7 +224,6 @@
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" />
<dd:Connector
Content="{Binding TopRightConnector}"
Cursor="Cross"
SnapsToDevicePixels="True"
Orientation="TopRight"
VerticalAlignment="Top"
@@ -235,7 +231,6 @@
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" />
<dd:Connector
Content="{Binding RightConnector}"
Cursor="Cross"
SnapsToDevicePixels="True"
Orientation="Right"
VerticalAlignment="Center"
@@ -243,7 +238,6 @@
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" />
<dd:Connector
Content="{Binding BottomRightConnector}"
Cursor="Cross"
SnapsToDevicePixels="True"
Orientation="BottomRight"
VerticalAlignment="Bottom"
@@ -251,7 +245,6 @@
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" />
<dd:Connector
Content="{Binding BottomConnector}"
Cursor="Cross"
SnapsToDevicePixels="True"
Orientation="Bottom"
VerticalAlignment="Bottom"
@@ -259,7 +252,6 @@
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" />
<dd:Connector
Content="{Binding BottomLeftConnector}"
Cursor="Cross"
SnapsToDevicePixels="True"
Orientation="BottomLeft"
VerticalAlignment="Bottom"
@@ -300,7 +292,6 @@
<Grid>
<dd:Connector
Content="{Binding .}"
Cursor="Cross"
SnapsToDevicePixels="True"/>
</Grid>
</DataTemplate>
@@ -633,7 +624,7 @@
<dd:ConnectorContainer x:Name="PART_ConnectorContainer" Visibility="Hidden" Style="{StaticResource GifImageConnectorContainer}" ItemsSource="{Binding Connectors}">
<dd:ConnectorContainer.ItemTemplate>
<DataTemplate>
<dd:Connector Content="{Binding .}" Cursor="Cross" SnapsToDevicePixels="True"/>
<dd:Connector Content="{Binding .}" SnapsToDevicePixels="True"/>
</DataTemplate>
</dd:ConnectorContainer.ItemTemplate>
</dd:ConnectorContainer>
@@ -708,7 +699,7 @@
<dd:ConnectorContainer.ItemTemplate>
<DataTemplate>
<Grid>
<dd:Connector Content="{Binding .}" Cursor="Cross" SnapsToDevicePixels="True"/>
<dd:Connector Content="{Binding .}" SnapsToDevicePixels="True"/>
</Grid>
</DataTemplate>
</dd:ConnectorContainer.ItemTemplate>
@@ -814,8 +805,7 @@
<!-- PART_ConnectorDecorator -->
<Grid Margin="-5"
x:Name="PART_ConnectorDecorator">
<dd:Connector Content="{Binding Connectors[0]}"
Cursor="Cross"
<dd:Connector Content="{Binding Connectors[0]}"
SnapsToDevicePixels="True"
VerticalAlignment="Center"
HorizontalAlignment="Center"

View File

@@ -13,31 +13,12 @@
<dd:ArrowSizeConverter x:Key="ArrowSizeConverter"/>
<dd:MathConverter x:Key="MathAddConverter" Operation="Add" />
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
<Style x:Key="LineStyle" TargetType="Path">
<Setter Property="Stroke" Value="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"/>
<Style.Triggers>
<DataTrigger Value="True" Binding="{Binding IsSelected}">
<Setter Property="Stroke" Value="Black"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="ArrowStyle" TargetType="Path">
<!--<Setter Property="Stroke" Value="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"/>-->
<Setter Property="Fill" Value="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"/>
<Style.Triggers>
<DataTrigger Value="True" Binding="{Binding IsSelected}">
<!--<Setter Property="Stroke" Value="Black"/>-->
<Setter Property="Fill" Value="Black"/>
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
<Grid>
<Canvas x:Name="rootCanvas">
<Path x:Name="line" StrokeThickness="{Binding ColorViewModel.LineWidth}"
StrokeDashArray="{Binding ColorViewModel.LineDashStyle,Converter={StaticResource LineDashConverter}}"
Style="{StaticResource LineStyle}"
Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
StrokeLineJoin="Round"
StrokeStartLineCap="Round"
StrokeEndLineCap="Round">
@@ -60,7 +41,7 @@
VerticalAlignment="Center"
HorizontalAlignment="Center"
RenderTransformOrigin="0.5,0.5"
Style="{StaticResource ArrowStyle}">
Fill="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}">
<Path.RenderTransform>
<TransformGroup>
<RotateTransform Angle="{Binding EndAngle}"/>
@@ -81,7 +62,7 @@
VerticalAlignment="Center"
HorizontalAlignment="Center"
RenderTransformOrigin="0.5,0.5"
Style="{StaticResource ArrowStyle}">
Fill="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}">
<Path.RenderTransform>
<TransformGroup>
<RotateTransform Angle="{Binding StartAngle}"/>
@@ -90,19 +71,35 @@
</Path>
</Grid>
<Rectangle Canvas.Left="{Binding StartPoint.X}"
Canvas.Top="{Binding StartPoint.Y}"
Fill="DarkRed"
Width="{Binding SourceConnectorInfo.ConnectorWidth}"
Height="{Binding SourceConnectorInfo.ConnectorHeight}"
Visibility="{Binding IsSelected,Converter={StaticResource BooleanToVisibilityConverter}}" />
<Grid Canvas.Left="{Binding StartPoint.X}"
Canvas.Top="{Binding StartPoint.Y}"
Width="{Binding SourceConnectorInfo.ConnectorWidth}"
Height="{Binding SourceConnectorInfo.ConnectorHeight}"
UseLayoutRounding="True"
SnapsToDevicePixels="True"
Visibility="{Binding IsSelected,Converter={StaticResource BooleanToVisibilityConverter}}">
<Ellipse Stroke="DarkRed"
StrokeThickness="1"
Margin="-2.5"/>
<Rectangle
Fill="DarkRed"
Margin="1"/>
</Grid>
<Ellipse Canvas.Left="{Binding EndPoint.X}"
Canvas.Top="{Binding EndPoint.Y}"
Fill="DarkRed"
Width="{Binding SinkConnectorInfo.ConnectorWidth}"
Height="{Binding SinkConnectorInfo.ConnectorHeight}"
Visibility="{Binding IsSelected,Converter={StaticResource BooleanToVisibilityConverter}}" />
<Grid Canvas.Left="{Binding EndPoint.X}"
Canvas.Top="{Binding EndPoint.Y}"
Width="{Binding SinkConnectorInfo.ConnectorWidth}"
Height="{Binding SinkConnectorInfo.ConnectorHeight}"
UseLayoutRounding="True"
SnapsToDevicePixels="True"
Visibility="{Binding IsSelected,Converter={StaticResource BooleanToVisibilityConverter}}">
<Ellipse Stroke="DarkRed"
StrokeThickness="1"
Margin="-2.5"/>
<Ellipse
Fill="DarkRed"
Margin="1"/>
</Grid>
<Path x:Name="ball"
Stretch="Fill"