| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- <UserControl x:Class="GeekDesk.Control.UserControls.PannelCard.LeftCardControl"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:local="clr-namespace:GeekDesk.Control.UserControls.PannelCard"
- xmlns:hc="https://handyorg.github.io/handycontrol"
- xmlns:cvt="clr-namespace:GeekDesk.Converts"
- xmlns:cst="clr-namespace:GeekDesk.Constant"
- xmlns:DraggAnimatedPanel="clr-namespace:DraggAnimatedPanel"
- mc:Ignorable="d"
- d:DesignHeight="450" d:DesignWidth="800"
- >
- <UserControl.Resources>
- <!--左侧栏样式动画-->
- <Style x:Key="MenuStyle" TargetType="ListBoxItem" BasedOn="{StaticResource ListBoxItemBaseStyle}">
- <Setter Property="FontSize" Value="16"/>
- <Setter Property="Margin" Value="0,0,0,1"/>
- <Setter Property="Background">
- <Setter.Value>
- <SolidColorBrush Color="Black" Opacity="0.01"/>
- </Setter.Value>
- </Setter>
- <Setter Property="AllowDrop" Value="True"/>
- <EventSetter Event="Drop" Handler="Menu_Drop"/>
- <EventSetter Event="PreviewDragEnter" Handler="Menu_PreviewDragEnter"/>
- <EventSetter Event="PreviewDragLeave" Handler="Menu_PreviewDragLeave"/>
- <EventSetter Event="MouseLeave" Handler="Menu_MouseLeave"/>
- <Setter Property="FocusVisualStyle" Value="{x:Null}" />
- <EventSetter Event="MouseEnter" Handler="Menu_MouseEnter"/>
- <EventSetter Event="PreviewMouseLeftButtonDown" Handler="ListBoxItem_MouseDown"/>
- <EventSetter Event="PreviewMouseRightButtonDown" Handler="ListBoxItem_PreviewMouseRightButtonDown"/>
- <!--<EventSetter Event="Unselected" Handler="Lbi_Unselected"/>-->
- <Style.Triggers>
- <MultiTrigger>
- <MultiTrigger.Conditions>
- <Condition Property="IsMouseOver" Value="False"/>
- <Condition Property="IsSelected" Value="False"/>
- </MultiTrigger.Conditions>
- <MultiTrigger.EnterActions>
- <BeginStoryboard>
- <Storyboard Timeline.DesiredFrameRate="60">
- <DoubleAnimation To="16" Duration="0:0:0.2" Storyboard.TargetProperty="FontSize"/>
- </Storyboard>
- </BeginStoryboard>
- </MultiTrigger.EnterActions>
- <MultiTrigger.ExitActions>
- <BeginStoryboard>
- <Storyboard Timeline.DesiredFrameRate="60">
- <DoubleAnimation To="18" Duration="0:0:0.001" Storyboard.TargetProperty="FontSize"/>
- </Storyboard>
- </BeginStoryboard>
- </MultiTrigger.ExitActions>
- <MultiTrigger.Setters>
- <Setter Property="Background">
- <Setter.Value>
- <SolidColorBrush Color="Black" Opacity="0.01"/>
- </Setter.Value>
- </Setter>
- <Setter Property="Foreground" Value="Black"/>
- </MultiTrigger.Setters>
- </MultiTrigger>
- <!--移到代码设置-->
- <!--<Trigger Property="IsSelected" Value="False">
- <Setter Property="Background" Value="Transparent"/>
- <Setter Property="Foreground" Value="Black"/>
- </Trigger>
- <Trigger Property="IsSelected" Value="True">
- <Setter Property="Background" Value="#ECECEC"/>
- <Setter Property="Foreground" Value="Black"/>
- </Trigger>
-
- <Trigger Property="IsMouseOver" Value="False">
- <Setter Property="Background" Value="Transparent"/>
- <Setter Property="Foreground" Value="Black"/>
- </Trigger>-->
- <Trigger Property="IsMouseOver" Value="False">
- <Setter Property="Background" Value="#00FFFFFF"/>
- <Setter Property="Foreground" Value="Black"/>
- </Trigger>
- </Style.Triggers>
- </Style>
- <Style x:Key="MyPoptipStyle" TargetType="Border">
- <Setter Property="HorizontalAlignment" Value="Center"/>
- <Setter Property="VerticalAlignment" Value="Center"/>
- <Setter Property="BorderThickness" Value="1"/>
- <Setter Property="Background" Value="White"/>
- <Setter Property="BorderBrush" Value="{DynamicResource BorderBrush}"/>
- <Setter Property="CornerRadius" Value="{StaticResource DefaultCornerRadius}"/>
- <Setter Property="Padding" Value="{StaticResource DefaultControlPadding}"/>
- <!--<Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="hc:Poptip">
- <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}">
- <ContentPresenter Margin="{TemplateBinding Padding}" ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}"/>
- </Border>
- </ControlTemplate>
- </Setter.Value>
- </Setter>-->
- </Style>
- <cvt:MenuWidthConvert x:Key="MenuWidthConvert"/>
- <cvt:OpcityConvert x:Key="OpcityConvert"/>
- <cvt:StringAppendConvert x:Key="StringAppendConvert"/>
- </UserControl.Resources>
- <Grid Background="Transparent">
- <Popup Name="MyPoptip" FlowDirection="LeftToRight"
- PopupAnimation="None" Placement="Mouse" IsOpen="False"
- AllowsTransparency="True"
- >
- <Grid Background="Transparent">
- <Border Style="{StaticResource MyPoptipStyle}">
- <TextBlock Name="MyPoptipContent" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" Text="Test" FontSize="14"/>
- </Border>
- </Grid>
- </Popup>
- <!--左侧栏-->
- <hc:Card x:Name="MyCard"
- BorderThickness="1"
- Effect="{DynamicResource EffectShadow2}"
- Margin="5,0,0,5"
- MouseDown="MyCard_MouseDown"
- PreviewMouseRightButtonDown="MyCard_PreviewMouseRightButtonDown"
- >
- <hc:Card.Background>
- <SolidColorBrush Color="#FFFFFFFF" hc:GeometryEffect.GeometryEffect="20" Opacity="{Binding AppConfig.CardOpacity, Mode=TwoWay, Converter={StaticResource OpcityConvert}}">
- </SolidColorBrush>
- </hc:Card.Background>
- <hc:Card.BorderBrush>
- <SolidColorBrush Color="#FFFFFFFF" Opacity="0"/>
- </hc:Card.BorderBrush>
- <hc:Card.ContextMenu>
- <ContextMenu Width="200">
- <MenuItem Header="新建菜单" Click="CreateMenu"/>
- <MenuItem Header="新建关联菜单" Click="CreateFolderMenu"/>
- <MenuItem x:Name="AlterPW1" Header="修改密码" Click="AlterPassword"/>
- </ContextMenu>
- </hc:Card.ContextMenu>
- <WrapPanel Orientation="Horizontal">
- <ListBox x:Name="MenuListBox"
- Padding="2,3,0,2"
- ItemsSource="{Binding MenuList}"
- Tag="{Binding AppConfig.MenuCardWidth}"
- BorderThickness="0" Foreground="{x:Null}"
- SelectedIndex="{Binding AppConfig.SelectedMenuIndex}"
- VirtualizingPanel.VirtualizationMode="Recycling"
- SelectionChanged="Menu_SelectionChanged"
- PreviewMouseWheel="Menu_MouseWheel"
- PreviewMouseRightButtonDown="MyCard_PreviewMouseRightButtonDown"
- >
- <ListBox.Resources>
- <ContextMenu x:Key="MenuDialog" Width="200">
- <MenuItem Header="新建菜单" Click="CreateMenu"/>
- <MenuItem Header="新建关联菜单" Click="CreateFolderMenu"/>
- <MenuItem Header="重命名" Click="RenameMenu" Tag="{Binding}"/>
- <MenuItem Header="加密此列表" Click="EncryptMenu" Tag="{Binding}"/>
- <MenuItem x:Name="AlterPW2" Header="修改密码" Click="AlterPassword"/>
- <MenuItem Header="修改图标" Click="EditMenuGeometry" 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.Background>
- <SolidColorBrush Color="AliceBlue" Opacity="0"/>
- </ListBox.Background>
- <ListBox.ItemsPanel>
- <ItemsPanelTemplate>
- <DraggAnimatedPanel:DraggAnimatedPanel ItemsHeight="33" ItemsWidth="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type ListBox},AncestorLevel=1},Path=Tag, Mode=TwoWay, Converter={StaticResource MenuWidthConvert}, ConverterParameter=10}" HorizontalAlignment="Center" VerticalAlignment="Top" SwapCommand="{Binding SwapCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
- </ItemsPanelTemplate>
- </ListBox.ItemsPanel>
- <ListBox.ItemTemplate>
- <DataTemplate>
- <StackPanel Tag="{Binding}">
- <TextBox Text="{Binding Path=MenuName, Mode=TwoWay}"
- HorizontalAlignment="Left"
- Width="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type ListBox},AncestorLevel=1},Path=Tag, Mode=TwoWay, Converter={StaticResource MenuWidthConvert}, ConverterParameter=35}"
- FontSize="16"
- Height="28"
- VerticalAlignment="Center"
- TextAlignment="Left"
- LostFocus="LostFocusOrEnterDown"
- KeyDown="LostFocusOrEnterDown"
- Tag="{Binding}"
- Padding="2"
- BorderThickness="0"
- IsVisibleChanged="MenuEditWhenVisibilityChanged"
- Visibility="{Binding MenuEdit}"/>
- <StackPanel Orientation="Horizontal"
- IsVisibleChanged="MenuWhenVisibilityChanged"
- Visibility="{Binding NotMenuEdit}">
- <Button Background="Transparent"
- BorderThickness="0"
- hc:IconElement.Geometry="{Binding MenuGeometry}"
- hc:IconElement.Height="18"
- hc:IconElement.Width="18"
- IsEnabled="False"
- Opacity="1"
- Foreground="{Binding GeometryColor}"
- />
- <TextBlock Text="{Binding MenuName}"
- HorizontalAlignment="Center"
- TextAlignment="Center"
- VerticalAlignment="Center"
- />
- </StackPanel>
- </StackPanel>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
- </WrapPanel>
- </hc:Card>
- </Grid>
- </UserControl>
|