diff --git a/CrazyCoder/MainWindow.xaml b/CrazyCoder/MainWindow.xaml
index 53a4123..395775f 100644
--- a/CrazyCoder/MainWindow.xaml
+++ b/CrazyCoder/MainWindow.xaml
@@ -139,7 +139,7 @@
<StackPanel Orientation="Horizontal">
<TextBlock Grid.Column="0" Text="{Binding IconFont}" FontFamily="./Fonts/#iconfont" FontSize="22"
- Margin="10 0 0 0" Foreground="{Binding BackColor}"/>
+ Margin="10 0 0 0" Foreground="Red"/>
<TextBlock Margin="10 0 0 0" Text="{Binding Title}" FontSize="14" VerticalAlignment="Center"
Foreground="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1,
AncestorType={x:Type RadioButton}}}" />
diff --git a/XCoderWpf/Common/MainMenu.cs b/XCoderWpf/Common/MainMenu.cs
new file mode 100644
index 0000000..971df40
--- /dev/null
+++ b/XCoderWpf/Common/MainMenu.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Media;
+using HandyControl.Controls;
+using XCoderWpf.Models;
+using XCoderWpf.ViewModels;
+using XCoderWpf.Views;
+
+namespace XCoderWpf.Common
+{
+ public class MainMenu
+ {
+ private readonly SolidColorBrush _solidColorBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#7F4463"));
+ private readonly FontFamily _yhFontFamily = new FontFamily("微软雅黑");
+ private readonly FontFamily _fontFamily = new FontFamily(new Uri("pack://application:,,,/"), "./Resources/#iconfont");
+ private readonly Thickness _margin = new Thickness(10, 0, 0, 0);
+ private readonly SideMenu _sizeMenu;
+ private readonly MainWindowViewModel _mainViewViewModel;
+
+ public MainMenu(MainWindowViewModel vm, SideMenu sizeMenu) { _mainViewViewModel = vm; _sizeMenu = sizeMenu; }
+
+ public void InitializeSystemMenu()
+ {
+ var menus = _mainViewViewModel.MainMenuList;
+ var lvl1Data = menus.Where(x => x.Pid == x.Id).ToList();
+
+ _sizeMenu.Items.Clear();
+ var lvl1MenuList = lvl1Data.Select(x => GetSideMenuItem(x, _yhFontFamily)).ToArray();
+ _sizeMenu.Items.AddRange(lvl1MenuList);
+
+ for (var index = 0; index < lvl1Data.Count; index++)
+ lvl1MenuList[index].Items.AddRange(menus.Where(x => x.Pid == lvl1Data[index].Id && x.Pid != x.Id).Select(x => GetSideMenuItem(x)));
+ }
+
+ private SideMenuItem GetSideMenuItem(MainMenuModel item, FontFamily fontFamily = null)
+ {
+ var side = new SideMenuItem
+ {
+ Header = item.Header,
+ Foreground = _solidColorBrush,
+ Icon = new TextBlock { Text = item.IconFont, FontFamily = _fontFamily, Margin = _margin, Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(item.BackColor)) },
+ Tag = item.Tag,
+ //Command = _mainViewViewModel.SelectCmd,
+ //CommandParameter = item.Tag,
+ };
+ if (fontFamily == null) return side;
+ side.FontFamily = _yhFontFamily;
+ side.FontSize = 20;
+ return side;
+ }
+ }
+}
diff --git a/XCoderWpf/Models/MainMenuModel.cs b/XCoderWpf/Models/MainMenuModel.cs
new file mode 100644
index 0000000..ebc4f47
--- /dev/null
+++ b/XCoderWpf/Models/MainMenuModel.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace XCoderWpf.Models
+{
+ public class MainMenuModel
+ {
+ public String IconFont { get; set; }
+
+ public String Header { get; set; }
+
+ public String BackColor { get; set; }
+
+ public String Tag { get; set; }
+ public int Id { get; set; }
+ public int Pid { get; set; }
+ }
+}
diff --git a/XCoderWpf/Resources/iconfont.ttf b/XCoderWpf/Resources/iconfont.ttf
new file mode 100644
index 0000000..c767334
Binary files /dev/null and b/XCoderWpf/Resources/iconfont.ttf differ
diff --git a/XCoderWpf/ViewModels/DataBasePublishViewModel.cs b/XCoderWpf/ViewModels/DataBasePublishViewModel.cs
new file mode 100644
index 0000000..38dfe99
--- /dev/null
+++ b/XCoderWpf/ViewModels/DataBasePublishViewModel.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Prism.Mvvm;
+
+namespace XCoderWpf.ViewModels
+{
+ public class DataBasePublishViewModel : BindableBase
+ {
+ private IList<string> _datalist;
+ public IList<string> DataList
+ {
+ get { return _datalist; }
+ set { SetProperty(ref _datalist, value); }
+ }
+ public DataBasePublishViewModel()
+ {
+ DataList = new ObservableCollection<string>
+ {
+ "mssql111",
+ "mssql112",
+ "mssql113",
+ "mssql114",
+ "mssql115",
+ "mssql1117",
+ };
+ }
+ }
+}
diff --git a/XCoderWpf/ViewModels/MainWindowViewModel.cs b/XCoderWpf/ViewModels/MainWindowViewModel.cs
index 33a0bdb..cec6b1a 100644
--- a/XCoderWpf/ViewModels/MainWindowViewModel.cs
+++ b/XCoderWpf/ViewModels/MainWindowViewModel.cs
@@ -1,48 +1,58 @@
using System;
+using System.Collections.Generic;
using System.Windows.Controls;
using HandyControl.Controls;
using HandyControl.Data;
using Prism.Commands;
using Prism.Mvvm;
using Prism.Regions;
+using XCoderWpf.Models;
+using XCoderWpf.Views;
namespace XCoderWpf.ViewModels
{
public class MainWindowViewModel : BindableBase
{
private readonly IRegionManager _region;
- public DelegateCommand<SelectionChangedEventArgs> SwitchItemCommand { get; set; }
+ public List<MainMenuModel> MainMenuList => new List<MainMenuModel>
+ {
+ new MainMenuModel { Id = 0 , Pid = 0 , IconFont = "\xe635", Header = "数据库", BackColor = "#218868" },
+ new MainMenuModel { Id = 1 , Pid = 0 , IconFont = "\xe635", Header = "数据建模", BackColor = "#218868", Tag = nameof(DataBasePublish) },
+ new MainMenuModel { Id = 2 , Pid = 0 , IconFont = "\xe6b6", Header = "网络工具", BackColor = "#EE3B3B", Tag = nameof(RegexWindow)},
+ new MainMenuModel { Id = 3 , Pid = 0 , IconFont = "\xe6e1", Header = "RPC工具", BackColor = "#218868" },
+
+ new MainMenuModel { Id = 20, Pid = 20, IconFont = "\xe614", Header = "串口工具", BackColor = "#EE3B3B" },
+ new MainMenuModel { Id = 21, Pid = 20, IconFont = "\xe755", Header = "地图接口", BackColor = "#218868" },
+ new MainMenuModel { Id = 22, Pid = 20, IconFont = "\xe635", Header = "正则表达式", BackColor = "#218868", Tag = nameof(RegexWindow) },
+ new MainMenuModel { Id = 23, Pid = 20, IconFont = "\xe6b6", Header = "图标水印", BackColor = "#EE3B3B" },
+ new MainMenuModel { Id = 24, Pid = 20, IconFont = "\xe6e1", Header = "加密解密", BackColor = "#218868" },
- private String _title = "码神工具";
+ new MainMenuModel { Id = 50, Pid = 50, IconFont = "\xe614", Header = "语音助手", BackColor = "#EE3B3B" },
+ new MainMenuModel { Id = 52, Pid = 50, IconFont = "\xe755", Header = "文件夹统计", BackColor = "#218868" },
+ new MainMenuModel { Id = 53, Pid = 50, IconFont = "\xe635", Header = "文件编码", BackColor = "#218868" }
+ };
+
+ private String _title = "";
public String Title
{
get => _title;
set => SetProperty(ref _title, value);
}
- public MainWindowViewModel(IRegionManager regionManager)
- {
- _region = regionManager;
- SwitchItemCommand = new DelegateCommand<SelectionChangedEventArgs>(OnSwitchItem);
- }
- public DelegateCommand<FunctionEventArgs<object>> SwitchItemCmd => new Lazy<DelegateCommand<FunctionEventArgs<object>>>(() =>
- new DelegateCommand<FunctionEventArgs<object>>(SwitchItem)).Value;
- private void SwitchItem(FunctionEventArgs<object> info)
- {
- if (!(info.Info is SideMenuItem item)) return;
- _region.RequestNavigate("ContentRegion", item.Tag != null ? item.Tag.ToString() : "Overview");
- Growl.Info((info.Info as SideMenuItem)?.Header.ToString());
- }
+ public MainWindowViewModel(IRegionManager regionManager) => _region = regionManager;
+
+ public DelegateCommand<FunctionEventArgs<object>> SwitchItemCommand => new Lazy<DelegateCommand<FunctionEventArgs<object>>>(() => new DelegateCommand<FunctionEventArgs<object>>(OnSwitchItem)).Value;
+ public DelegateCommand<string> SelectCmd => new Lazy<DelegateCommand<string>>(() => new DelegateCommand<string>(Select)).Value;
- private void OnSwitchItem(SelectionChangedEventArgs e)
+
+
+ private void OnSwitchItem(FunctionEventArgs<object> info)
{
- if (!(e.AddedItems[0] is ListBoxItem item)) return;
+ if (!(info.Info is SideMenuItem item)) return;
_region.RequestNavigate("ContentRegion", item.Tag != null ? item.Tag.ToString() : "Overview");
}
- public DelegateCommand<string> SelectCmd => new Lazy<DelegateCommand<string>>(() =>
- new DelegateCommand<string>(Select)).Value;
private void Select(string header) => Growl.Success(header);
}
diff --git a/XCoderWpf/Views/DataBasePublish.xaml b/XCoderWpf/Views/DataBasePublish.xaml
index 22900bc..efcbf37 100644
--- a/XCoderWpf/Views/DataBasePublish.xaml
+++ b/XCoderWpf/Views/DataBasePublish.xaml
@@ -1,18 +1,63 @@
<UserControl x:Class="XCoderWpf.Views.DataBasePublish"
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:XCoderWpf.Views"
- mc:Ignorable="d"
- d:DesignHeight="450" d:DesignWidth="800">
- <Grid>
- <StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center">
- <TextBlock Style="{StaticResource TextBlockLarge}">ahahahahahaha非常好</TextBlock>
- <Button Margin="10" Style="{StaticResource ButtonDanger}"> 11111111111111111</Button>
- <Button Margin="10" Style="{StaticResource ButtonSuccess}">2222222222 2221</Button>
- <Button Margin="10" Style="{StaticResource ButtonWarning}">2222222222 2221</Button>
+ xmlns:prism="http://prismlibrary.com/"
+ xmlns:hc="https://handyorg.github.io/handycontrol"
+ prism:ViewModelLocator.AutoWireViewModel="True">
+ <Grid Background="{DynamicResource BackgroundBrush}">
+ <Border Background="{DynamicResource RegionBrush}" Effect="{StaticResource EffectShadow4}" CornerRadius="16" Margin="10">
+ <Grid >
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition/>
+ <ColumnDefinition Width="2*"/>
+ </Grid.ColumnDefinitions>
- </StackPanel>
+ <Border Effect="{StaticResource EffectShadow4}" Background="{DynamicResource DarkDefaultBrush}" CornerRadius="16,0,0,16">
+
+ <StackPanel VerticalAlignment="Center" HorizontalAlignment="Left" Orientation="Vertical">
+ <hc:ComboBox Margin="30,30,30,0" AutoComplete="True" ShowClearButton="True" ItemsSource="{Binding DataList}" IsEditable="True" hc:InfoElement.Placeholder="请选择" hc:TitleElement.Title="数据库连接"/>
+
+ <TextBlock Margin="40,80,0,0" Foreground="White">
+ <Bold>提示</Bold>path
+ </TextBlock>
+
+ <TextBlock FontWeight="DemiBold" FontSize="22" Foreground="White" Margin="40">
+ 2种用法<LineBreak/>
+
+ </TextBlock>
+ <TextBlock FontWeight="Medium" Margin="40,0" Foreground="{DynamicResource ThirdlyTextBrush}">
+ 1.连接数据库,得到数据表信息<LineBreak/>
+ 2.导入模型,得到数据表信息<LineBreak/>
+
+ </TextBlock>
+ <Image Margin="40,280" Width="46" HorizontalAlignment="Left" Source="{StaticResource Sagittarius}"/>
+ </StackPanel>
+ </Border>
+
+ <Border Effect="{StaticResource EffectShadow4}" Grid.Column="1" Background="{DynamicResource RegionBrush}" CornerRadius="0,16,16,0">
+ <StackPanel HorizontalAlignment="Center">
+ <Image Margin="30" Source="{StaticResource Table}" Width="128"/>
+ <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
+ <Image Width="24" Source="{StaticResource Graduation}"/>
+ <TextBlock Margin="5,0" Text="Create an account" FontWeight="Bold" FontSize="14"/>
+ </StackPanel>
+ <Button Width="350" Margin="0,40">
+ <StackPanel Orientation="Horizontal">
+ <Image Margin="10,0" Source="{StaticResource Google}"/>
+
+ <TextBlock Text="Sign up with Google"/>
+ </StackPanel>
+ </Button>
+ <hc:Divider Width="350" Content="OR"/>
+ <TextBox Style="{StaticResource TextBoxExtend}" hc:TitleElement.Title="Your email" Text="mahdidvb72@gmail.com"/>
+ <PasswordBox Style="{StaticResource PasswordBoxExtend}" hc:TitleElement.Title="Set password"/>
+ <Button Content="Sign up" Style="{DynamicResource ButtonViolet}" Margin="0,30" Width="350"/>
+ <TextBlock Margin="0,50,0,0" HorizontalAlignment="Center" >
+ Already have an account? <Button Margin="-4,-10" Content="Sign in" BorderThickness="0" Foreground="Purple" FontWeight="DemiBold" />
+ </TextBlock>
+ </StackPanel>
+ </Border>
+ </Grid>
+ </Border>
</Grid>
</UserControl>
diff --git a/XCoderWpf/Views/MainWindow.xaml b/XCoderWpf/Views/MainWindow.xaml
index aae9a4f..4c920da 100644
--- a/XCoderWpf/Views/MainWindow.xaml
+++ b/XCoderWpf/Views/MainWindow.xaml
@@ -7,7 +7,6 @@
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d"
- WindowState="Maximized"
ResizeMode="CanResizeWithGrip"
Title="{Binding Title}"
WindowStartupLocation="CenterScreen"
@@ -20,6 +19,8 @@
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
+ <hc:Shield HorizontalAlignment="Right" Grid.Column="1" Margin="0,0,50,0" Color="{DynamicResource DangerBrush}" Subject="Github" Status="码神工具" Cursor="Hand" hc:Command="hc:ControlCommands.OpenLink" CommandParameter="https://github.com/NewLifeX/XCoder"/>
+
<Button HorizontalAlignment="Right" Grid.Column="1" Click="ButtonConfig_OnClick" Name="ButtonConfig" Style="{StaticResource ButtonIcon}" Foreground="{DynamicResource PrimaryTextBrush}" hc:IconElement.Geometry="{StaticResource ConfigGeometry}"/>
<Popup AllowsTransparency="True" Grid.Column="1" PlacementTarget="{Binding ElementName=ButtonConfig}" HorizontalOffset="-25" Name="PopupConfig" VerticalOffset="6" StaysOpen="False">
<Border Background="{DynamicResource SecondaryRegionBrush}" CornerRadius="4" Margin="16" Effect="{StaticResource EffectShadow2}">
@@ -40,163 +41,20 @@
</hc:Window.NonClientAreaContent>
<Grid>
<Grid.ColumnDefinitions>
- <ColumnDefinition Width="260"/>
+ <ColumnDefinition Width="170"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
- <!--<ListBox Style="{StaticResource ListBoxModernStyle}">
- <ListBoxItem Tag="DataBasePublish" Margin="10,10,10,0" Content="数据建模工具"/>
- <ListBoxItem Tag="RegexWindow" Margin="10,0" Content="正则表达式工具"/>
- <ListBoxItem Tag="UploadToCloud" Margin="10,0" Content="网络调试工具"/>
- <ListBoxItem Tag="MusicPlayer" hc:ListBoxAttach.IsNew="True" Margin="10,0" Content="Api调试"/>
- <ListBoxItem Tag="Login" hc:ListBoxAttach.IsNew="True" Margin="10,0" Content="语音小助手"/>
- <hc:Interaction.Triggers>
- <hc:EventTrigger EventName="SelectionChanged">
- <hc:EventToCommand Command="{Binding SwitchItemCommand}" PassEventArgsToCommand="True"/>
- </hc:EventTrigger>
- </hc:Interaction.Triggers>
- </ListBox>-->
- <hc:SideMenu BorderThickness="1" Margin="3">
- <hc:Interaction.Triggers>
- <hc:EventTrigger EventName="SelectionChanged">
- <hc:EventToCommand Command="{Binding SwitchItemCmd}" PassEventArgsToCommand="True" />
- </hc:EventTrigger>
- </hc:Interaction.Triggers>
- <hc:SideMenuItem Header="数据库">
- <hc:SideMenuItem.Icon>
- <Image Source="/Resources/MainMenu/database.png" Width="24" Height="24"/>
- </hc:SideMenuItem.Icon>
- <hc:SideMenuItem Header="数据库模型" Tag="DataBasePublish" Command="{Binding SelectCmd}" CommandParameter="{Binding Header,RelativeSource={RelativeSource Self}}">
- <hc:SideMenuItem.Icon>
- <Image Source="/Resources/MainMenu/database1.png" Width="16" Height="16"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="分库分表" Command="{Binding SelectCmd}" CommandParameter="{Binding Header,RelativeSource={RelativeSource Self}}">
- <hc:SideMenuItem.Icon>
- <Image Source="/Resources/MainMenu/database2.png" Width="16" Height="16"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="备份" CommandParameter="{Binding Header,RelativeSource={RelativeSource Self}}">
- <hc:SideMenuItem.Icon>
- <Image Source="/Resources/MainMenu/database3.png" Width="16" Height="16"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="网络">
- <hc:SideMenuItem.Icon>
- <Image Source="/Resources/MainMenu/Tcp.png" Width="24" Height="24"/>
- </hc:SideMenuItem.Icon>
- <hc:SideMenuItem Header="Work Items">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Boards">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Backlogs">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Sprints">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Queries">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="图表库">
- <hc:SideMenuItem.Icon>
- <Image Source="/Resources/MainMenu/data.png" Width="24" Height="24"/>
- </hc:SideMenuItem.Icon>
- <hc:SideMenuItem Header="Files">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Commits">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Pushes">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Branches">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Tags">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Pull requests">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="文件">
- <hc:SideMenuItem.Icon>
- <Image Source="/Resources/MainMenu/file.png" Width="24" Height="24"/>
- </hc:SideMenuItem.Icon>
- <hc:SideMenuItem Header="Builds">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Releases">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Library">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Task groups">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Deployment groups">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="传输">
- <hc:SideMenuItem.Icon>
- <Image Source="/Resources/MainMenu/print.png" Width="24" Height="24"/>
- </hc:SideMenuItem.Icon>
- <hc:SideMenuItem Header="Test Plans">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Runs">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- <hc:SideMenuItem Header="Load test">
- <hc:SideMenuItem.Icon>
- <TextBlock Text="" Style="{StaticResource TextBlockTitle}"/>
- </hc:SideMenuItem.Icon>
- </hc:SideMenuItem>
- </hc:SideMenuItem>
- </hc:SideMenu>
+ <Border x:Name="BorderMain" Margin="{Binding MenuMargin}" BorderThickness="0,1,1,1" Panel.ZIndex="1" BorderBrush="#DDDDDD">
+ <hc:TransitioningContentControl>
+ <hc:SideMenu Foreground="#7F4463" x:Name="MainSideMenu" ExpandMode="Freedom" AutoSelect="False">
+ <hc:Interaction.Triggers>
+ <hc:EventTrigger EventName="SelectionChanged">
+ <hc:EventToCommand Command="{Binding SwitchItemCommand}" PassEventArgsToCommand="True" />
+ </hc:EventTrigger>
+ </hc:Interaction.Triggers>
+ </hc:SideMenu>
+ </hc:TransitioningContentControl>
+ </Border>
<ContentControl prism:RegionManager.RegionName="ContentRegion" Grid.Column="1" />
</Grid>
</hc:Window>
diff --git a/XCoderWpf/Views/MainWindow.xaml.cs b/XCoderWpf/Views/MainWindow.xaml.cs
index 4c03f54..4b19f09 100644
--- a/XCoderWpf/Views/MainWindow.xaml.cs
+++ b/XCoderWpf/Views/MainWindow.xaml.cs
@@ -2,6 +2,10 @@
using HandyControl.Data;
using System.Windows;
using System.Windows.Controls;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using XCoderWpf.Common;
+using XCoderWpf.ViewModels;
namespace XCoderWpf.Views
{
@@ -10,7 +14,11 @@ namespace XCoderWpf.Views
/// </summary>
public partial class MainWindow
{
- public MainWindow() => InitializeComponent();
+ public MainWindow()
+ {
+ InitializeComponent();
+ new MainMenu(DataContext as MainWindowViewModel, MainSideMenu).InitializeSystemMenu();
+ }
#region Change Skin
private void ButtonConfig_OnClick(Object sender, RoutedEventArgs e) => PopupConfig.IsOpen = true;
diff --git a/XCoderWpf/XCoderWpf.csproj b/XCoderWpf/XCoderWpf.csproj
index b2392da..e4138ae 100644
--- a/XCoderWpf/XCoderWpf.csproj
+++ b/XCoderWpf/XCoderWpf.csproj
@@ -7,30 +7,16 @@
</PropertyGroup>
<ItemGroup>
- <None Remove="Resources\MainMenu\data.png" />
- <None Remove="Resources\MainMenu\database.png" />
- <None Remove="Resources\MainMenu\database1.png" />
- <None Remove="Resources\MainMenu\database2.png" />
- <None Remove="Resources\MainMenu\database3.png" />
- <None Remove="Resources\MainMenu\file.png" />
- <None Remove="Resources\MainMenu\Print.png" />
- <None Remove="Resources\MainMenu\Tcp.png" />
+ <None Remove="Resources\iconfont.ttf" />
</ItemGroup>
<ItemGroup>
- <PackageReference Include="HandyControls" Version="2.5.3.2" />
- <PackageReference Include="Prism.DryIoc" Version="8.0.0.1740-pre" />
+ <Resource Include="Resources\iconfont.ttf" />
</ItemGroup>
<ItemGroup>
- <Resource Include="Resources\MainMenu\data.png" />
- <Resource Include="Resources\MainMenu\database.png" />
- <Resource Include="Resources\MainMenu\database1.png" />
- <Resource Include="Resources\MainMenu\database2.png" />
- <Resource Include="Resources\MainMenu\database3.png" />
- <Resource Include="Resources\MainMenu\file.png" />
- <Resource Include="Resources\MainMenu\Print.png" />
- <Resource Include="Resources\MainMenu\Tcp.png" />
+ <PackageReference Include="HandyControls" Version="2.5.3.2" />
+ <PackageReference Include="Prism.DryIoc" Version="8.0.0.1740-pre" />
</ItemGroup>
</Project>