线条控件

This commit is contained in:
艾竹
2023-01-25 14:42:01 +08:00
parent a01eb8825a
commit 40590bf98d
10 changed files with 1496 additions and 109 deletions

View File

@@ -527,60 +527,7 @@
</ContextMenu>
</Grid.ContextMenu>
<s:LineControl x:Name="line"/>
<Canvas HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<!--<Path x:Name="line" Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
StrokeThickness="{Binding ColorViewModel.LineWidth}"
StrokeDashArray="{Binding ColorViewModel.LineDashStyle,Converter={StaticResource LineDashConverter}}">
<Path.Data>
<MultiBinding Converter="{x:Static s:ConnectionPathConverter.Instance}">
<Binding Path="PathGeneratorResult"/>
</MultiBinding>
</Path.Data>
</Path>-->
<Path x:Name="rightarrow"
Data="{Binding ColorViewModel.RightArrowPathStyle,Converter={StaticResource ArrowPathConverter}}"
Visibility="{Binding Path=IsFullConnection, Converter={x:Static s:BoolToVisibilityConverter.Instance}}"
Fill="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
Height="{Binding ColorViewModel.RightArrowSizeStyle, Converter={StaticResource ArrowSizeConverter}}"
Width="{Binding ColorViewModel.RightArrowSizeStyle, Converter={StaticResource ArrowSizeConverter}}"
Stretch="Fill"
Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
HorizontalAlignment="Left"
VerticalAlignment="Top"
RenderTransformOrigin="0.5,0.5">
<Path.RenderTransform>
<TransformGroup>
<RotateTransform x:Name="rightrot" Angle="{Binding EndAngle}"/>
<TranslateTransform X="{Binding EndPoint.X}" Y="{Binding EndPoint.Y}"/>
</TransformGroup>
</Path.RenderTransform>
</Path>
<Path x:Name="leftarrow"
Data="{Binding ColorViewModel.LeftArrowPathStyle,Converter={StaticResource ArrowPathConverter}}"
Visibility="{Binding Path=IsFullConnection, Converter={x:Static s:BoolToVisibilityConverter.Instance}}"
Fill="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
Height="{Binding ColorViewModel.LeftArrowSizeStyle, Converter={StaticResource ArrowSizeConverter}}"
Width="{Binding ColorViewModel.LeftArrowSizeStyle, Converter={StaticResource ArrowSizeConverter}}"
Canvas.Left="{Binding StartPoint.X}"
Canvas.Top="{Binding StartPoint.Y}"
Stretch="Fill"
Stroke="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
HorizontalAlignment="Left"
VerticalAlignment="Top"
RenderTransformOrigin="0.5,0.5">
<Path.RenderTransform>
<TransformGroup>
<RotateTransform x:Name="leftrot" Angle="{Binding StartAngle}"/>
<TranslateTransform X="{Binding StartPoint.X}" Y="{Binding StartPoint.Y}"/>
</TransformGroup>
</Path.RenderTransform>
</Path>
</Canvas>
<s:LineControl x:Name="line"/>
<!-- PART_DragThumb -->
<c:DragThumb x:Name="PART_DragThumb"
@@ -643,18 +590,6 @@
<DataTemplate.Triggers>
<DataTrigger Value="True"
Binding="{Binding IsSelected}">
<!--<Setter TargetName="line"
Property="Stroke"
Value="Black" />-->
<Setter TargetName="line"
Property="IsSelected"
Value="True" />
<Setter TargetName="rightarrow"
Property="Stroke"
Value="Black" />
<Setter TargetName="rightarrow"
Property="Fill"
Value="Black" />
<Setter TargetName="PART_VerticesContainer"
Property="Visibility"
Value="Visible"/>
@@ -666,16 +601,6 @@
Property="Visibility"
Value="Visible"/>
</DataTrigger>
<!--右箭头-->
<DataTrigger Binding="{Binding Path=ColorViewModel.RightArrowPathStyle}" Value="None">
<Setter TargetName="rightarrow" Property="Visibility" Value="Hidden"/>
</DataTrigger>
<!--左箭头-->
<DataTrigger Binding="{Binding Path=ColorViewModel.LeftArrowPathStyle}" Value="None">
<Setter TargetName="leftarrow" Property="Visibility" Value="Hidden"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</Setter.Value>