LinkBase.xaml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <ResourceDictionary
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:c="clr-namespace:SHJX.Service.WorkFlowEdit">
  5. <ResourceDictionary.MergedDictionaries>
  6. <ResourceDictionary Source="/SHJX.Service.WorkFlowEdit;component/Themes/Shared.xaml" />
  7. </ResourceDictionary.MergedDictionaries>
  8. <Style TargetType="{x:Type c:LinkBase}">
  9. <Setter Property="SnapsToDevicePixels" Value="True" />
  10. <Setter Property="Canvas.ZIndex" Value="-1" />
  11. <Setter Property="Template">
  12. <Setter.Value>
  13. <ControlTemplate>
  14. <Canvas DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}">
  15. <Path
  16. Data="{Binding PathGeometry}"
  17. Stroke="{Binding Brush}"
  18. StrokeThickness="2" />
  19. <Canvas
  20. Canvas.Left="{Binding StartPoint.X}"
  21. Canvas.Top="{Binding StartPoint.Y}"
  22. Visibility="{Binding StartCap, Converter={StaticResource VisibilityConverter}}">
  23. <Path Data="M0,0 L16,-4 L16,4 Z" Fill="{Binding Brush}" />
  24. <Canvas.LayoutTransform>
  25. <RotateTransform Angle="{Binding StartCapAngle}" />
  26. </Canvas.LayoutTransform>
  27. </Canvas>
  28. <Canvas
  29. Canvas.Left="{Binding EndPoint.X}"
  30. Canvas.Top="{Binding EndPoint.Y}"
  31. Visibility="{Binding EndCap, Converter={StaticResource VisibilityConverter}}">
  32. <Path Data="M0,0 L-16,-4 L-16,4 Z" Fill="{Binding Brush}" />
  33. <Canvas.LayoutTransform>
  34. <RotateTransform Angle="{Binding EndCapAngle}" />
  35. </Canvas.LayoutTransform>
  36. </Canvas>
  37. <Canvas
  38. Canvas.Left="{Binding LabelPosition.X}"
  39. Canvas.Top="{Binding LabelPosition.Y}"
  40. Width="1"
  41. Height="1">
  42. <TextBlock
  43. Margin="-1000"
  44. HorizontalAlignment="Center"
  45. VerticalAlignment="Center"
  46. Background="White"
  47. Text="{Binding Label}" />
  48. </Canvas>
  49. </Canvas>
  50. </ControlTemplate>
  51. </Setter.Value>
  52. </Setter>
  53. </Style>
  54. </ResourceDictionary>