mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
99 lines
4.8 KiB
XML
99 lines
4.8 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:s="clr-namespace:Util.DiagramDesigner;assembly=Util.DiagramDesigner"
|
|
xmlns:viewmodel="clr-namespace:AIStudio.Wpf.SFC.ViewModels"
|
|
xmlns:converter="clr-namespace:AIStudio.Wpf.BaseDiagram.Converters;assembly=AIStudio.Wpf.BaseDiagram">
|
|
|
|
<s:ColorBrushConverter x:Key="ColorBrushConverter"/>
|
|
|
|
<ControlTemplate x:Key="StartStyle" TargetType="{x:Type ContentControl}">
|
|
<Grid>
|
|
<Border BorderThickness="1" BorderBrush="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}">
|
|
<Border BorderThickness="1" Margin="3" BorderBrush="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}" Background="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}">
|
|
<Grid>
|
|
|
|
</Grid>
|
|
</Border>
|
|
</Border>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
|
|
<ControlTemplate x:Key="NodeStyle" TargetType="{x:Type ContentControl}">
|
|
<Grid>
|
|
<Border BorderThickness="4" BorderBrush="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}" Background="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}">
|
|
<Grid>
|
|
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
|
|
<ControlTemplate x:Key="ConditionStyle" TargetType="{x:Type ContentControl}">
|
|
<Grid>
|
|
<Border BorderThickness="1" HorizontalAlignment="Center" BorderBrush="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}">
|
|
</Border>
|
|
<Border BorderThickness="1" VerticalAlignment="Center" BorderBrush="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}">
|
|
</Border>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
|
|
<ControlTemplate x:Key="ActionStyle" TargetType="{x:Type ContentControl}">
|
|
<Grid>
|
|
<Border BorderThickness="1" BorderBrush="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}" Background="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}">
|
|
<Grid>
|
|
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
|
|
<ControlTemplate x:Key="COBeginStyle" TargetType="{x:Type ContentControl}">
|
|
<Grid>
|
|
<Border BorderThickness="0,1,0,1" BorderBrush="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}" Background="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}">
|
|
<Grid>
|
|
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
|
|
<ControlTemplate x:Key="COEndStyle" TargetType="{x:Type ContentControl}">
|
|
<Grid>
|
|
<Border BorderThickness="0,1,0,1" BorderBrush="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}" Background="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}">
|
|
<Grid>
|
|
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
|
|
<Style x:Key="CustomSFCNodeStyle" TargetType="{x:Type ContentControl}">
|
|
<Setter Property="Template" Value="{StaticResource StartStyle}" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Kind}" Value="Start">
|
|
<Setter Property="Template" Value="{StaticResource StartStyle}" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Kind}" Value="Node">
|
|
<Setter Property="Template" Value="{StaticResource NodeStyle}" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Kind}" Value="Condition">
|
|
<Setter Property="Template" Value="{StaticResource ConditionStyle}" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Kind}" Value="Action">
|
|
<Setter Property="Template" Value="{StaticResource ActionStyle}" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Kind}" Value="COBegin">
|
|
<Setter Property="Template" Value="{StaticResource COBeginStyle}" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Kind}" Value="COEnd">
|
|
<Setter Property="Template" Value="{StaticResource COEndStyle}" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<DataTemplate DataType="{x:Type viewmodel:SFCNode}">
|
|
<Grid IsHitTestVisible="False">
|
|
<ContentControl Style="{StaticResource CustomSFCNodeStyle}"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ResourceDictionary> |