Слияние кода завершено, страница обновится автоматически
<UserControl x:Class="AIStudio.Wpf.DiagramDesigner.LineControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:s="clr-namespace:AIStudio.Wpf.DiagramDesigner"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<s:ColorBrushConverter x:Key="ColorBrushConverter" />
<s:LineDashConverter x:Key="LineDashConverter"/>
<s:ArrowPathConverter x:Key="ArrowPathConverter"/>
<s:ArrowSizeConverter x:Key="ArrowSizeConverter"/>
<s:MathConverter x:Key="MathAddConverter" Operation="Add" />
<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}"
StrokeLineJoin="Round"
StrokeStartLineCap="Round"
StrokeEndLineCap="Round">
<Path.Data>
<MultiBinding Converter="{x:Static s:ConnectionPathConverter.Instance}">
<Binding Path="PathGeneratorResult"/>
</MultiBinding>
</Path.Data>
</Path>
<Grid Canvas.Left="{Binding EndRectangle.Left}"
Canvas.Top="{Binding EndRectangle.Top}"
Width="{Binding EndRectangle.Width}"
Height="{Binding EndRectangle.Height}">
<Path x:Name="rightarrow"
Data="{Binding ShapeViewModel.SinkMarker.Path}"
Width="{Binding ShapeViewModel.SinkMarker.Width}"
Height="{Binding ShapeViewModel.SinkMarker.Height}"
Stretch="Fill"
VerticalAlignment="Center"
HorizontalAlignment="Center"
RenderTransformOrigin="0.5,0.5"
Style="{StaticResource ArrowStyle}">
<Path.RenderTransform>
<TransformGroup>
<RotateTransform Angle="{Binding EndAngle}"/>
</TransformGroup>
</Path.RenderTransform>
</Path>
</Grid>
<Grid Canvas.Left="{Binding StartRectangle.Left}"
Canvas.Top="{Binding StartRectangle.Top}"
Width="{Binding StartRectangle.Width}"
Height="{Binding StartRectangle.Height}">
<Path x:Name="leftarrow"
Data="{Binding ShapeViewModel.SourceMarker.Path}"
Width="{Binding ShapeViewModel.SourceMarker.Width}"
Height="{Binding ShapeViewModel.SourceMarker.Height}"
Stretch="Fill"
VerticalAlignment="Center"
HorizontalAlignment="Center"
RenderTransformOrigin="0.5,0.5"
Style="{StaticResource ArrowStyle}">
<Path.RenderTransform>
<TransformGroup>
<RotateTransform Angle="{Binding StartAngle}"/>
</TransformGroup>
</Path.RenderTransform>
</Path>
</Grid>
<Ellipse x:Name="ball" Fill="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}"
Width="{Binding ColorViewModel.LineWidth,Converter={StaticResource MathAddConverter},ConverterParameter=4}"
Height="{Binding ColorViewModel.LineWidth,Converter={StaticResource MathAddConverter},ConverterParameter=4}"
Panel.ZIndex="1" />
</Canvas>
</Grid>
</UserControl>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )