添加右侧菜单
parent
693d89522c
commit
8cc06bb9bd
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 779 B |
@ -0,0 +1,4 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<FontFamily x:Key="Iconfont">pack://application:,,,/StartServerWPF.Modules.Main;component/Fonts/#iconfont</FontFamily>
|
||||
</ResourceDictionary>
|
@ -0,0 +1,140 @@
|
||||
<UserControl x:Class="StartServerWPF.Modules.Main.Views.TreeMenuView"
|
||||
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:prism="http://prismlibrary.com/"
|
||||
prism:ViewModelLocator.AutoWireViewModel="True"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/StartServerWPF.Modules.Main;component/Styles/BaseResources.xaml"/>
|
||||
<!--<ResourceDictionary Source="/Detection.platform.Assets;component/Styles/ButtonStyles.xaml"/>-->
|
||||
<ResourceDictionary>
|
||||
<ControlTemplate TargetType="ToggleButton" x:Key="ArrowButtonTemplate">
|
||||
<Grid Background="Transparent" Name="back">
|
||||
<TextBlock Text="" FontFamily="{StaticResource Iconfont}"
|
||||
VerticalAlignment="Center" HorizontalAlignment="Center"
|
||||
RenderTransformOrigin="0.5,0.5" Name="arrow">
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsChecked" Value="True">
|
||||
<Setter TargetName="arrow" Property="RenderTransform">
|
||||
<Setter.Value>
|
||||
<RotateTransform Angle="90"/>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="back" Property="Background" Value="#11000000"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid Background="#66FFFFFF">
|
||||
<Grid.Resources>
|
||||
<Style TargetType="TreeViewItem">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"></Setter>
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
|
||||
<Setter Property="KeyboardNavigation.AcceptsReturn" Value="True" />
|
||||
<Setter Property="HorizontalContentAlignment" Value="Left"/>
|
||||
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||||
<Setter Property="Padding" Value="8,5"/>
|
||||
<Setter Property="Foreground" Value="#FF565656"/>
|
||||
<Setter Property="FontFamily" Value="{StaticResource Iconfont}"/>
|
||||
<Setter Property="FontSize" Value="12"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="TreeViewItem">
|
||||
<Grid Background="Transparent" Name="root">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition MaxWidth="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" MinHeight="36"/>
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.InputBindings>
|
||||
<MouseBinding MouseAction="LeftDoubleClick"
|
||||
Command="{Binding OpenViewCommand}"
|
||||
CommandParameter="{Binding}"/>
|
||||
</Grid.InputBindings>
|
||||
|
||||
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
Background="{TemplateBinding Background}"
|
||||
CornerRadius="0" Grid.ColumnSpan="2" Padding="{TemplateBinding Padding}"
|
||||
SnapsToDevicePixels="true">
|
||||
<ContentPresenter x:Name="PART_Header" ContentSource="Header"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
|
||||
</ContentPresenter>
|
||||
</Border>
|
||||
<ToggleButton x:Name="Expander" Grid.Column="1" ClickMode="Press"
|
||||
IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Template="{StaticResource ArrowButtonTemplate}"/>
|
||||
<ItemsPresenter x:Name="ItemsHost" Margin="18,0,0,0" Grid.ColumnSpan="2" Grid.Row="1" />
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsExpanded" Value="false">
|
||||
<Setter Property="Visibility" TargetName="ItemsHost" Value="Collapsed"/>
|
||||
</Trigger>
|
||||
<Trigger Property="HasItems" Value="false">
|
||||
<Setter Property="Visibility" TargetName="Expander" Value="Hidden"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsSelected" Value="true">
|
||||
<Setter Property="Background" TargetName="Bd" Value="#FF009DFF"/>
|
||||
<Setter Property="Foreground" Value="#FFFFFFFF"/>
|
||||
<Setter Property="Foreground" Value="#FFFFFFFF" TargetName="Expander"/>
|
||||
</Trigger>
|
||||
<!--被选中后失去焦点-->
|
||||
<MultiTrigger>
|
||||
<MultiTrigger.Conditions>
|
||||
<Condition Property="IsSelected" Value="true"/>
|
||||
<Condition Property="IsSelectionActive" Value="false"/>
|
||||
</MultiTrigger.Conditions>
|
||||
<Setter Property="Background" TargetName="Bd" Value="SkyBlue"/>
|
||||
<Setter Property="Foreground" Value="#FFFFFFFF"/>
|
||||
</MultiTrigger>
|
||||
<DataTrigger Binding="{Binding MenuIcon}" Value="{x:Null}">
|
||||
<Setter Property="Margin" Value="10,0,0,0" TargetName="root"/>
|
||||
</DataTrigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</Grid.Resources>
|
||||
<TreeView BorderThickness="0" Background="Transparent" ItemsSource="{Binding Menus}" Margin="0,10">
|
||||
<TreeView.ItemTemplate>
|
||||
<HierarchicalDataTemplate ItemsSource="{Binding Children,Mode=TwoWay}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="30" Name="c1"/>
|
||||
<ColumnDefinition/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding MenuIcon}" VerticalAlignment="Center" HorizontalAlignment="Center"
|
||||
FontSize="15" SnapsToDevicePixels="True"
|
||||
FontFamily="{StaticResource Iconfont}"/>
|
||||
<TextBlock Text="{Binding MenuHeader}" Grid.Column="1" Margin="5,5,0,5" FontSize="15"/>
|
||||
</Grid>
|
||||
<HierarchicalDataTemplate.Triggers>
|
||||
<DataTrigger Binding="{Binding MenuIcon}" Value="{x:Null}">
|
||||
<Setter TargetName="c1" Property="Width" Value="0"/>
|
||||
</DataTrigger>
|
||||
</HierarchicalDataTemplate.Triggers>
|
||||
</HierarchicalDataTemplate>
|
||||
</TreeView.ItemTemplate>
|
||||
</TreeView>
|
||||
</Grid>
|
||||
</UserControl>
|
Loading…
Reference in New Issue