Mind Editoe

This commit is contained in:
艾竹
2023-03-05 21:30:53 +08:00
parent 9061146139
commit 79f4896fbd
41 changed files with 2090 additions and 484 deletions

View File

@@ -37,6 +37,48 @@
</Setter>
</Style>
<ControlTemplate x:Key="MindNodeLevelStyle" TargetType="{x:Type ContentControl}">
<Grid>
<Grid.ContextMenu>
<ContextMenu ItemsSource="{Binding MenuOptions}">
<ContextMenu.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="MenuItem.Header" Value="{Binding Text}" />
<Setter Property="MenuItem.ItemsSource" Value="{Binding Children}" />
<Setter Property="MenuItem.Command" Value="{Binding Command}" />
<Setter Property="MenuItem.Icon" Value="{Binding Icon}" />
<Setter Property="CommandParameter" Value="{Binding CommandParameter}" />
<Setter Property="MenuItem.IsCheckable" Value="{Binding IsCheckable}" />
<Setter Property="MenuItem.IsChecked" Value="{Binding IsChecked}" />
</Style>
</ContextMenu.ItemContainerStyle>
</ContextMenu>
</Grid.ContextMenu>
<Grid IsHitTestVisible="False">
<Border BorderThickness="{Binding BorderThickness}"
BorderBrush="{Binding ColorViewModel.LineColor,Converter={StaticResource ColorBrushConverter}}"
Background="{Binding ColorViewModel.FillColor,Converter={StaticResource ColorBrushConverter}}"
CornerRadius="{Binding CornerRadius}">
</Border>
</Grid>
<ToggleButton x:Name="toggle" IsChecked="{Binding IsExpanded}" Style="{StaticResource ExpandCollapseToggleStyle}" HorizontalAlignment="Left" Margin="-15,0,0,0" Visibility="{Binding Children.Count,Converter={StaticResource IntToVisibilityConverter}}"/>
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding ConnectorOrientation}" Value="None">
<Setter TargetName="toggle" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Binding="{Binding ConnectorOrientation}" Value="Right">
<Setter TargetName="toggle" Property="HorizontalAlignment" Value="Right"/>
<Setter TargetName="toggle" Property="Margin" Value="0,0,-15,0"/>
</DataTrigger>
<DataTrigger Binding="{Binding ConnectorOrientation}" Value="Top">
<Setter TargetName="toggle" Property="HorizontalAlignment" Value="Center"/>
<Setter TargetName="toggle" Property="VerticalAlignment" Value="Top"/>
<Setter TargetName="toggle" Property="Margin" Value="0,-15,0,0"/>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="MindLevel1NodeStyle" TargetType="{x:Type ContentControl}">
<Grid >
<Grid.ContextMenu>
@@ -143,8 +185,8 @@
</ControlTemplate>
<Style x:Key="MindNodeStyle" TargetType="{x:Type ContentControl}">
<Setter Property="Template" Value="{StaticResource MindLevel1NodeStyle}" />
<Style.Triggers>
<Setter Property="Template" Value="{StaticResource MindNodeLevelStyle}" />
<!--<Style.Triggers>
<DataTrigger Binding="{Binding NodeLevel}" Value="Level1">
<Setter Property="Template" Value="{StaticResource MindLevel1NodeStyle}" />
</DataTrigger>
@@ -154,7 +196,7 @@
<DataTrigger Binding="{Binding NodeLevel}" Value="Level3">
<Setter Property="Template" Value="{StaticResource MindLevel3NodeStyle}" />
</DataTrigger>
</Style.Triggers>
</Style.Triggers>-->
</Style>
<DataTemplate DataType="{x:Type viewmodel:MindNode}">