247 lines
12 KiB
XML
247 lines
12 KiB
XML
<Window x:Class="GeekDesk.MainWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:local="clr-namespace:GeekDesk"
|
|
xmlns:tp="clr-namespace:GeekDesk.EditTextBlock"
|
|
mc:Ignorable="d"
|
|
xmlns:util="clr-namespace:GeekDesk.Util"
|
|
xmlns:DraggAnimatedPanel="clr-namespace:DraggAnimatedPanel" x:Name="window"
|
|
xmlns:hc="https://handyorg.github.io/handycontrol"
|
|
Title="MainWindow" Height="500" Width="600">
|
|
<Window.Resources>
|
|
|
|
<Style TargetType="{x:Type TextBlock}" x:Key="memuStory">
|
|
<Style.Triggers>
|
|
<!--鼠标移入-->
|
|
<EventTrigger RoutedEvent="MouseMove">
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<!--鼠标移入放大-->
|
|
<DoubleAnimation To="20" Duration="0:0:0.001" Storyboard.TargetProperty="FontSize"/>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</EventTrigger>
|
|
<!--鼠标移出-->
|
|
<EventTrigger RoutedEvent="MouseLeave">
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<!--鼠标移出恢复正常大小-->
|
|
<DoubleAnimation To="15" Duration="0:0:0.001" Storyboard.TargetProperty="FontSize"/>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</EventTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
|
|
<!--左侧栏样式动画-->
|
|
<Style x:Key="menuStyle" TargetType="ListBoxItem" BasedOn="{StaticResource ListBoxItemBaseStyle}">
|
|
<Setter Property="FontSize" Value="15"/>
|
|
<Setter Property="Margin" Value="0,0,0,1"/>
|
|
<Setter Property="RenderTransform">
|
|
<Setter.Value>
|
|
<TranslateTransform/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsMouseOver" Value="True"/>
|
|
</MultiTrigger.Conditions>
|
|
<MultiTrigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation To="20" Duration="0:0:0.001" Storyboard.TargetProperty="FontSize"/>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</MultiTrigger.EnterActions>
|
|
<MultiTrigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation To="15" Duration="0:0:0.5" Storyboard.TargetProperty="FontSize"/>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</MultiTrigger.ExitActions>
|
|
</MultiTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<BeginStoryboard x:Key="imageStoryboard">
|
|
<Storyboard>
|
|
<DoubleAnimation To="80" Duration="0:0:0.1" Storyboard.TargetProperty="Width"/>
|
|
<DoubleAnimation To="80" Duration="0:0:0.1" Storyboard.TargetProperty="Height"/>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
|
|
<!--右侧栏样式动画-->
|
|
<Style x:Key="imageStyle" TargetType="Image">
|
|
<Setter Property="Width" Value="60"/>
|
|
<Setter Property="Height" Value="60"/>
|
|
<Setter Property="Source" Value="{Binding BitmapImage}"/>
|
|
<!--<DataTrigger Binding="{Binding ElementName=sv, Path=ComputedVerticalScrollBarVisibility}" Value="Visible">
|
|
<DataTrigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation To="80" Duration="0:0:0.1" Storyboard.TargetProperty="Width"/>
|
|
<DoubleAnimation To="80" Duration="0:0:0.1" Storyboard.TargetProperty="Height"/>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</DataTrigger.EnterActions>
|
|
</DataTrigger>-->
|
|
<!--<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="{Binding RelativeSource={RelativeSource Mode=PreviousData}, Path=IsMouseOver}" Value="True"/>
|
|
</MultiTrigger.Conditions>
|
|
<MultiTrigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation To="80" Duration="0:0:0.1" Storyboard.TargetProperty="Width"/>
|
|
<DoubleAnimation To="80" Duration="0:0:0.1" Storyboard.TargetProperty="Height"/>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</MultiTrigger.EnterActions>
|
|
<MultiTrigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation To="60" Duration="0:0:0.5" Storyboard.TargetProperty="Width"/>
|
|
<DoubleAnimation To="60" Duration="0:0:0.5" Storyboard.TargetProperty="Height"/>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</MultiTrigger.ExitActions>
|
|
</MultiTrigger>-->
|
|
|
|
</Style>
|
|
|
|
<util:MenuWidthConvert x:Key="MenuWidthConvert"/>
|
|
<util:VisibilityConvert x:Key="VisibilityConvert"/>
|
|
|
|
</Window.Resources>
|
|
|
|
|
|
|
|
<Grid>
|
|
<!--背景图片-->
|
|
<Grid.Background>
|
|
<ImageBrush ImageSource="D:\壁纸\18078.jpg"></ImageBrush>
|
|
</Grid.Background>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="40"></RowDefinition>
|
|
<RowDefinition Height="*"></RowDefinition>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition x:Name="leftColumn" MinWidth="80" Width="150" MaxWidth="200"></ColumnDefinition>
|
|
<ColumnDefinition Width="*"></ColumnDefinition>
|
|
</Grid.ColumnDefinitions>
|
|
<DockPanel Grid.Row="0" Grid.Column="0">
|
|
<Label>Text</Label>
|
|
</DockPanel>
|
|
|
|
<!--左侧栏-->
|
|
<hc:Card Opacity="1" x:Name="leftCard" Grid.Row="1" Grid.Column="0"
|
|
BorderThickness="1"
|
|
Effect="{DynamicResource EffectShadow2}"
|
|
Margin="5,5,0,5"
|
|
>
|
|
<hc:Card.ContextMenu>
|
|
<ContextMenu Width="200">
|
|
<MenuItem Header="新建菜单" Click="CreateMenu"/>
|
|
</ContextMenu>
|
|
</hc:Card.ContextMenu>
|
|
|
|
<ListBox x:Name="menus" ItemsSource="{Binding MenuList}">
|
|
<ListBox.Resources>
|
|
<ContextMenu x:Key="menuDialog" Width="200">
|
|
<MenuItem Header="新建菜单" Click="CreateMenu"/>
|
|
<MenuItem Header="重命名" Click="RenameMenu" Tag="{Binding}"/>
|
|
<MenuItem Header="删除" Click="DeleteMenu" Tag="{Binding}"/>
|
|
</ContextMenu>
|
|
</ListBox.Resources>
|
|
|
|
<ListBox.ItemContainerStyle>
|
|
<Style TargetType="ListBoxItem" BasedOn="{StaticResource menuStyle}">
|
|
<Setter Property="ContextMenu" Value="{StaticResource menuDialog}"/>
|
|
</Style>
|
|
</ListBox.ItemContainerStyle>
|
|
<ListBox.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<DraggAnimatedPanel:DraggAnimatedPanel ItemsHeight="30" ItemsWidth="{Binding ElementName=leftColumn, Path=Width, Converter={StaticResource MenuWidthConvert}}" HorizontalAlignment="Center" VerticalAlignment="Top" SwapCommand="{Binding SwapCommand2, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
|
|
</ItemsPanelTemplate>
|
|
</ListBox.ItemsPanel>
|
|
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<StackPanel>
|
|
<TextBox Text="{Binding Path=MenuName, Mode=TwoWay}"
|
|
HorizontalAlignment="Left"
|
|
Width="{Binding ElementName=leftColumn, Path=Width, Converter={StaticResource MenuWidthConvert}}"
|
|
FontSize="15"
|
|
TextAlignment="Left"
|
|
BorderBrush="{x:Null}"
|
|
BorderThickness="0"
|
|
LostFocus="LostFocusOrEnterDown"
|
|
KeyDown="LostFocusOrEnterDown"
|
|
Tag="{Binding}"
|
|
IsVisibleChanged="MenuEditWhenVisibilityChanged"
|
|
Visibility="{Binding Path=MenuEdit, Converter={StaticResource VisibilityConvert}}"/>
|
|
<TextBlock Text="{Binding MenuName}"
|
|
PreviewMouseLeftButtonDown="menuClick"
|
|
IsVisibleChanged="MenuWhenVisibilityChanged"
|
|
Visibility="{Binding Path=NotMenuEdit, Converter={StaticResource VisibilityConvert}}"/>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
</hc:Card>
|
|
<!--分割线-->
|
|
<GridSplitter Opacity="0" Grid.Row="1" Grid.Column="0" Width="1" VerticalAlignment="Stretch" HorizontalAlignment="Right"/>
|
|
|
|
<!--右侧栏-->
|
|
<hc:Card AllowDrop="True" Drop="Wrap_Drop" Opacity="1" x:Name="rightCard" Grid.Row="1" Grid.Column="1" BorderThickness="1" Effect="{DynamicResource EffectShadow2}" Margin="5,5,5,5">
|
|
<WrapPanel Orientation="Horizontal">
|
|
<ListBox x:Name="icons" ItemsSource="{Binding}"
|
|
BorderThickness="0"
|
|
SelectionChanged="data_SelectionChanged"
|
|
>
|
|
<ListBox.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<DraggAnimatedPanel:DraggAnimatedPanel ItemsHeight="115" ItemsWidth="100" HorizontalAlignment="Center" SwapCommand="{Binding SwapCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
|
|
</ItemsPanelTemplate>
|
|
</ListBox.ItemsPanel>
|
|
|
|
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<StackPanel Tag="{Binding}"
|
|
MouseLeftButtonDown="dataClick"
|
|
HorizontalAlignment="Center"
|
|
Margin="5,5,5,5"
|
|
Height="115"
|
|
hc:Poptip.HitMode="None"
|
|
hc:Poptip.IsOpen="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
|
|
hc:Poptip.Content="{Binding Content}"
|
|
hc:Poptip.Placement="BottomLeft"
|
|
MouseMove="StackPanel_MouseMove"
|
|
>
|
|
<Image x:Name="testImage" Style="{StaticResource imageStyle}"></Image>
|
|
|
|
<TextBlock Width="80" TextWrapping="Wrap" TextAlignment="Center" Height="35" LineHeight="15" FontSize="12" Text="{Binding Name}"/>
|
|
<!--<StackPanel.Triggers>
|
|
<DataTrigger Binding="{Binding Path=IsMouseOver, RelativeSource={RelativeSource TemplatedParent}}" Value="True">
|
|
|
|
</DataTrigger>
|
|
</StackPanel.Triggers>-->
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
</WrapPanel>
|
|
|
|
</hc:Card>
|
|
|
|
|
|
|
|
</Grid>
|
|
</Window>
|