mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-02 15:50:51 +08:00
页面视图新增缩略图模式
This commit is contained in:
@@ -9,18 +9,24 @@
|
||||
xmlns:flowchartmodel="clr-namespace:AIStudio.Wpf.Flowchart.Models;assembly=AIStudio.Wpf.Flowchart"
|
||||
xmlns:sfcmodel="clr-namespace:AIStudio.Wpf.SFC.Models;assembly=AIStudio.Wpf.SFC"
|
||||
xmlns:dd="https://gitee.com/akwkevin/aistudio.-wpf.-diagram"
|
||||
xmlns:drop="urn:gong-wpf-dragdrop"
|
||||
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
||||
xmlns:conventer="clr-namespace:AIStudio.Wpf.DiagramDesigner.Additionals.Converters;assembly=AIStudio.Wpf.DiagramDesigner.Additionals"
|
||||
xmlns:command="clr-namespace:AIStudio.Wpf.DiagramDesigner.Additionals.Commands;assembly=AIStudio.Wpf.DiagramDesigner.Additionals"
|
||||
xmlns:svg="https://gitee.com/akwkevin/aistudio.-wpf.-test/tree/master/Controls/AIStudio.Wpf.Svg2XamlExtension"
|
||||
xmlns:binding="clr-namespace:AIStudio.Wpf.DiagramDesigner.Additionals.Commands;assembly=AIStudio.Wpf.DiagramDesigner.Additionals"
|
||||
xmlns:Fluent="urn:fluent-ribbon"
|
||||
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<conventer:StringPathConverter x:Key="stringPathConverter"/>
|
||||
<conventer:IntVisibilityConverter x:Key="IntVisibilityConverter"/>
|
||||
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
|
||||
<dd:EnumDescriptionConverter x:Key="EnumDescriptionConverter"/>
|
||||
<command:CommandReference x:Key="DeleteItemCommandReference" Command="{Binding DeleteItemCommand}"/>
|
||||
|
||||
<dd:MathConverter x:Key="MathAddConverter" Operation="Add" />
|
||||
|
||||
<DataTemplate DataType="{x:Type model:ImageToolBoxData}">
|
||||
<Grid Width="{Binding Width}" Height="{Binding Height}" ToolTip="{Binding Description}">
|
||||
@@ -382,11 +388,75 @@
|
||||
<ToggleButton DockPanel.Dock="Right" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource AncestorType=views:ToolBoxControl}}" Background="{DynamicResource Fluent.Ribbon.Brushes.AccentBaseColorBrush}" Style="{StaticResource DefaultToggleButton}">
|
||||
<Path Fill="Black" Stretch="Fill" Width="16" Height="16" Margin="10,3" Data="M18.41,7.41L17,6L11,12L17,18L18.41,16.59L13.83,12L18.41,7.41M12.41,7.41L11,6L5,12L11,18L12.41,16.59L7.83,12L12.41,7.41Z"/>
|
||||
</ToggleButton>
|
||||
<TextBlock Text="符号库" DockPanel.Dock="Left" VerticalAlignment="Center"/>
|
||||
|
||||
<ToggleButton x:Name="shift" HorizontalAlignment="Left" Width="130" ToolTip="符号库与表单切换">
|
||||
<ToggleButton.Style>
|
||||
<Style BasedOn="{StaticResource FlatButtonStyle}" TargetType="{x:Type ToggleButton}">
|
||||
<Setter Property="Content">
|
||||
<Setter.Value>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="符号库" Width="50" TextAlignment="Center" VerticalAlignment="Center"/>
|
||||
<Path Width="18" Height="18" Stretch="Uniform" Fill="Black" Data="M234.666667 430.933333H128l85.333333-81.066666L345.6 213.333333l51.2 51.2-81.066667 81.066667H896V426.666667H234.666667v4.266666zM793.6 554.666667H896l-85.333333 81.066666-132.266667 132.266667-51.2-51.2 81.066667-81.066667H128V554.666667h665.6z"></Path>
|
||||
<TextBlock Text="页面" Width="50" TextAlignment="Center" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsChecked" Value="True">
|
||||
<Trigger.Setters>
|
||||
<Setter Property="Content">
|
||||
<Setter.Value>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="页面" Width="50" TextAlignment="Center" VerticalAlignment="Center"/>
|
||||
<Path Width="18" Height="18" Stretch="Uniform" Fill="Black" Data="M234.666667 430.933333H128l85.333333-81.066666L345.6 213.333333l51.2 51.2-81.066667 81.066667H896V426.666667H234.666667v4.266666zM793.6 554.666667H896l-85.333333 81.066666-132.266667 132.266667-51.2-51.2 81.066667-81.066667H128V554.666667h665.6z"></Path>
|
||||
<TextBlock Text="符号库" Width="50" TextAlignment="Center" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Trigger.Setters>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ToggleButton.Style>
|
||||
</ToggleButton>
|
||||
|
||||
</DockPanel>
|
||||
</Expander.Header>
|
||||
<Border>
|
||||
<Grid x:Name="grid" Width="225" MinWidth="100" MaxWidth="500">
|
||||
<Grid x:Name="grid" Width="225" MinWidth="100" MaxWidth="500">
|
||||
<i:Interaction.Triggers>
|
||||
<i:DataTrigger Binding="{Binding ElementName=shift,Path=IsChecked}" Value="False">
|
||||
<i:GoToStateAction StateName="ShowTool" />
|
||||
</i:DataTrigger>
|
||||
<i:DataTrigger Binding="{Binding ElementName=shift,Path=IsChecked}" Value="True">
|
||||
<i:GoToStateAction StateName="ShowPage" />
|
||||
</i:DataTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<VisualStateManager.VisualStateGroups>
|
||||
<VisualStateGroup x:Name="VisualStates">
|
||||
<VisualState x:Name="ShowTool">
|
||||
<Storyboard>
|
||||
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="tool" Duration="0">
|
||||
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
|
||||
</ObjectAnimationUsingKeyFrames>
|
||||
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="page" Duration="0">
|
||||
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Collapsed}" />
|
||||
</ObjectAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
</VisualState>
|
||||
<VisualState x:Name="ShowPage">
|
||||
<Storyboard>
|
||||
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="tool" Duration="0">
|
||||
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Collapsed}" />
|
||||
</ObjectAnimationUsingKeyFrames>
|
||||
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="page" Duration="0">
|
||||
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
|
||||
</ObjectAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
</VisualStateManager.VisualStateGroups>
|
||||
|
||||
<Grid x:Name="tool" DataContext="{Binding ToolBoxViewModel}">
|
||||
<Grid.ContextMenu>
|
||||
<ContextMenu ItemsSource="{Binding ToolBoxCategory}">
|
||||
<ContextMenu.ItemContainerStyle>
|
||||
@@ -408,7 +478,77 @@
|
||||
</ItemsControl>
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<Grid x:Name="page" Visibility="Collapsed">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<ListBox ItemsSource="{Binding PageViewModel.DiagramViewModels}"
|
||||
SelectedItem="{Binding PageViewModel.DiagramViewModel}"
|
||||
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
|
||||
BorderBrush="Transparent"
|
||||
Padding="0"
|
||||
Margin="0,0,3,0"
|
||||
Background="Transparent"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
drop:DragDrop.CanDragWithMouseRightButton="True"
|
||||
drop:DragDrop.IsDragSource="True"
|
||||
drop:DragDrop.IsDropTarget="True"
|
||||
drop:DragDrop.DropTargetAdornerBrush="Coral"
|
||||
drop:DragDrop.UseDefaultEffectDataTemplate="True">
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ListBox.ItemsPanel>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid >
|
||||
<Border Margin="3" Height="100" Background="{Binding Thumbnail}" BorderThickness="1" BorderBrush="LightGray">
|
||||
<Border.ContextMenu>
|
||||
<ContextMenu>
|
||||
<MenuItem Header="增加页" Command="{binding:ControlBinding PageViewModel.AddPageCommand}" CommandParameter="{Binding .}"/>
|
||||
<MenuItem Header="复制页" Command="{binding:ControlBinding PageViewModel.AddCopyPageCommand}" CommandParameter="{Binding .}"/>
|
||||
<MenuItem Header="重命名页" Command="{binding:ControlBinding PageViewModel.RenamePageCommand}" CommandParameter="{Binding .}"/>
|
||||
<MenuItem Header="删除页" Command="{binding:ControlBinding PageViewModel.DeletePageCommand}" CommandParameter="{Binding .}"/>
|
||||
</ContextMenu>
|
||||
</Border.ContextMenu>
|
||||
<Grid>
|
||||
<TextBlock Text="{Binding Name}" HorizontalAlignment="Center" VerticalAlignment="Center" >
|
||||
<TextBlock.InputBindings>
|
||||
<MouseBinding MouseAction="LeftDoubleClick" Command="{binding:ControlBinding PageViewModel.RenamePageCommand}" CommandParameter="{Binding .}"/>
|
||||
</TextBlock.InputBindings>
|
||||
</TextBlock>
|
||||
<TextBox x:Name="renametextbox" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Name,UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding IsEditName,Converter={StaticResource BooleanToVisibilityConverter}}">
|
||||
<TextBox.InputBindings>
|
||||
<KeyBinding Key="Enter" Command="{binding:ControlBinding PageViewModel.EndRenamePageCommand}" CommandParameter="{Binding .}"/>
|
||||
</TextBox.InputBindings>
|
||||
<TextBox.Style>
|
||||
<Style TargetType="TextBox">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding Visibility,ElementName=renametextbox}" Value="Visible">
|
||||
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=renametextbox}"/>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</TextBox.Style>
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="LostFocus">
|
||||
<i:InvokeCommandAction Command="{binding:ControlBinding PageViewModel.EndRenamePageCommand}" CommandParameter="{Binding .}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
</TextBox>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<Fluent:Button Size="Small" Grid.Row="1" HorizontalAlignment="Center" Icon="{iconPacks:Material Kind=Plus}" Command="{Binding PageViewModel.AddPageCommand}"/>
|
||||
</Grid>
|
||||
|
||||
</Grid>
|
||||
</Expander>
|
||||
<dd:BorderResizeThumb Width="1" Margin="-3,0,0,0" ResizeElement="{Binding ElementName=grid}" Cursor="SizeWE" HorizontalAlignment="Right" VerticalAlignment="Stretch" Visibility="{Binding IsExpanded, RelativeSource={RelativeSource AncestorType=views:ToolBoxControl},Converter={StaticResource BooleanToVisibilityConverter}}"/>
|
||||
</Grid>
|
||||
|
||||
Reference in New Issue
Block a user