mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-28 20:23:25 +08:00
@@ -30,8 +30,8 @@
|
|||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|
||||||
<DataTemplate DataType="{x:Type dd:LogicalConnectorInfo}">
|
<DataTemplate DataType="{x:Type dd:LogicalConnectorInfo}">
|
||||||
<Grid>
|
<Grid ToolTip="{Binding Name}">
|
||||||
<Grid Width="{Binding ConnectorWidth}" Height="{Binding ConnectorHeight}" HorizontalAlignment="Left" VerticalAlignment="Top">
|
<Grid Width="{Binding ConnectorWidth}" Height="{Binding ConnectorHeight}" HorizontalAlignment="Left" VerticalAlignment="Top">
|
||||||
<Grid.ContextMenu>
|
<Grid.ContextMenu>
|
||||||
<ContextMenu ItemsSource="{Binding MenuOptions}">
|
<ContextMenu ItemsSource="{Binding MenuOptions}">
|
||||||
<ContextMenu.ItemContainerStyle>
|
<ContextMenu.ItemContainerStyle>
|
||||||
|
|||||||
@@ -265,7 +265,7 @@
|
|||||||
VerticalAlignment="Bottom"
|
VerticalAlignment="Bottom"
|
||||||
HorizontalAlignment="Left"
|
HorizontalAlignment="Left"
|
||||||
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" />
|
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" />
|
||||||
<Button Margin="-30" Background="Transparent" BorderThickness="0"
|
<!--<Button Margin="-30" Background="Transparent" BorderThickness="0"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
HorizontalAlignment="Left"
|
HorizontalAlignment="Left"
|
||||||
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" >
|
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" >
|
||||||
@@ -288,8 +288,7 @@
|
|||||||
HorizontalAlignment="Center"
|
HorizontalAlignment="Center"
|
||||||
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" >
|
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" >
|
||||||
<TextBlock Text="✚" FontWeight="Bold" FontSize="16" Foreground="DarkGray" />
|
<TextBlock Text="✚" FontWeight="Bold" FontSize="16" Foreground="DarkGray" />
|
||||||
</Button>
|
</Button>-->
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</ControlTemplate>
|
</ControlTemplate>
|
||||||
|
|
||||||
|
|||||||
@@ -592,7 +592,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClearConnectors()
|
public virtual void ClearConnectors()
|
||||||
{
|
{
|
||||||
connectors.Clear();
|
connectors.Clear();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,7 +177,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
public Dictionary<int, LogicalConnectorInfo> Input { get; set; } = new Dictionary<int, LogicalConnectorInfo>();
|
public Dictionary<int, LogicalConnectorInfo> Input { get; set; } = new Dictionary<int, LogicalConnectorInfo>();
|
||||||
public Dictionary<int, LogicalConnectorInfo> Output { get; set; } = new Dictionary<int, LogicalConnectorInfo>();
|
public Dictionary<int, LogicalConnectorInfo> Output { get; set; } = new Dictionary<int, LogicalConnectorInfo>();
|
||||||
|
|
||||||
public virtual LogicalConnectorInfo ExecuteAddInput(object parameter, int index = 0)
|
public override void ClearConnectors()
|
||||||
|
{
|
||||||
|
connectors.Clear();
|
||||||
|
Input.Clear();
|
||||||
|
Output.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual LogicalConnectorInfo ExecuteAddInput(object parameter, int index = 0, string name = null)
|
||||||
{
|
{
|
||||||
if (Input.Values.Count >= 2)
|
if (Input.Values.Count >= 2)
|
||||||
{
|
{
|
||||||
@@ -185,6 +192,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
LogicalConnectorInfo connector = new LogicalConnectorInfo(this, ConnectorOrientation.Left, true, false, ValueTypeInput.Count > index ? ValueTypeInput[index] : ValueTypeInput[0]);
|
LogicalConnectorInfo connector = new LogicalConnectorInfo(this, ConnectorOrientation.Left, true, false, ValueTypeInput.Count > index ? ValueTypeInput[index] : ValueTypeInput[0]);
|
||||||
connector.XRatio = 0;
|
connector.XRatio = 0;
|
||||||
|
connector.Name = name ?? $"Input{index}";
|
||||||
Input.Add(Input.Count, connector);
|
Input.Add(Input.Count, connector);
|
||||||
for (int i = 0; i < Input.Values.Count; i++)
|
for (int i = 0; i < Input.Values.Count; i++)
|
||||||
{
|
{
|
||||||
@@ -195,10 +203,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
return connector;
|
return connector;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual LogicalConnectorInfo ExecuteAddOutput(object parameter, int index = 0)
|
public virtual LogicalConnectorInfo ExecuteAddOutput(object parameter, int index = 0, string name = null)
|
||||||
{
|
{
|
||||||
LogicalConnectorInfo connector = new LogicalConnectorInfo(this, ConnectorOrientation.Right, true, false, ValueTypeOutput.Count > index ? ValueTypeOutput[index] : ValueTypeInput[0]);
|
LogicalConnectorInfo connector = new LogicalConnectorInfo(this, ConnectorOrientation.Right, true, false, ValueTypeOutput.Count > index ? ValueTypeOutput[index] : ValueTypeInput[0]);
|
||||||
connector.XRatio = 1;
|
connector.XRatio = 1;
|
||||||
|
connector.Name = name ?? $"Output{index}";
|
||||||
Output.Add(Output.Count, connector);
|
Output.Add(Output.Count, connector);
|
||||||
for (int i = 0; i < Output.Values.Count; i++)
|
for (int i = 0; i < Output.Values.Count; i++)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user