Suxue 1 vuosi sitten
vanhempi
säilyke
8305a58c39
13 muutettua tiedostoa jossa 277 lisäystä ja 25 poistoa
  1. 1 1
      App.xaml
  2. 0 2
      HtmlExport.cs
  3. 1 0
      Main.xaml
  4. 32 0
      Main.xaml.cs
  5. 33 3
      Main2.xaml
  6. 56 2
      Main2.xaml.cs
  7. 22 0
      Model/WXModel.cs
  8. 30 0
      Pages/Welcome.xaml
  9. 10 4
      Pages/Welcome.xaml.cs
  10. 29 0
      Pages/Workspace.xaml
  11. 55 0
      Pages/Workspace.xaml.cs
  12. 8 1
      WXUserReader.cs
  13. 0 12
      WorkSpaceItem.xaml

+ 1 - 1
App.xaml

@@ -2,7 +2,7 @@
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:local="clr-namespace:WechatPCMsgBakTool"
-             StartupUri="Main.xaml">
+             StartupUri="Main2.xaml">
     <Application.Resources>
          
     </Application.Resources>

+ 0 - 2
HtmlExport.cs

@@ -44,7 +44,6 @@ namespace WechatPCMsgBakTool
                 File.AppendAllText(path, HtmlBody);
                 HtmlBody = "";
             }
-            
         }
 
         public void SetEnd()
@@ -140,7 +139,6 @@ namespace WechatPCMsgBakTool
                         }
 
                     }
-
                 }
                 else if (msg.Type == 34)
                 {

+ 1 - 0
Main.xaml

@@ -38,5 +38,6 @@
         <CheckBox Name="cb_del_search" Content="已删除人员强制从记录搜索" HorizontalAlignment="Left" Margin="610,99,0,0" VerticalAlignment="Top"/>
         <RadioButton Name="rb_find_file" GroupName="find_addr_function" Content="使用version.json进行基址查找" HorizontalAlignment="Left" Margin="348,22,0,0" VerticalAlignment="Top" IsChecked="True"/>
         <RadioButton Name="rb_find_mem" GroupName="find_addr_function" Content="使用推定进行基址查找【推荐】" HorizontalAlignment="Left" Margin="546,22,0,0" VerticalAlignment="Top" Checked="rb_find_mem_Checked"/>
+        <Button Content="Button" HorizontalAlignment="Left" Margin="626,0,0,0" VerticalAlignment="Center" Click="Button_Click_2"/>
     </Grid>
 </Window>

+ 32 - 0
Main.xaml.cs

@@ -3,8 +3,10 @@ using K4os.Compression.LZ4.Encoders;
 using K4os.Compression.LZ4.Streams;
 using Newtonsoft.Json;
 using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
+using System.Diagnostics;
 using System.IO;
 using System.Linq;
 using System.Reflection.PortableExecutable;
@@ -17,6 +19,7 @@ using System.Windows.Documents;
 using System.Windows.Input;
 using System.Windows.Media;
 using System.Windows.Media.Imaging;
+using System.Xml;
 using WechatPCMsgBakTool.Helpers;
 using WechatPCMsgBakTool.Interface;
 using WechatPCMsgBakTool.Model;
@@ -267,5 +270,34 @@ namespace WechatPCMsgBakTool
                 }
             }
         }
+
+        private void Button_Click_2(object sender, RoutedEventArgs e)
+        {
+            var list = UserReader.GetWXChatRooms();
+            var users = UserReader.GetWXContacts();
+            Hashtable hashtable = new Hashtable();
+            foreach(var u in users)
+            {
+                hashtable[u.UserName] = u;
+            }
+            foreach(var room in list)
+            {
+                if(room.ChatRoomName == "20647511469@chatroom")
+                {
+                    string[] ids = room.UserNameList.Split("^G");
+                    foreach(string id in ids) {
+                        if (hashtable.ContainsKey(id))
+                        {
+                            WXContact? contact = hashtable[id] as WXContact;
+                            Debug.WriteLine($"{id} 是 ${contact.NickName}");
+                        }
+                        else
+                        {
+                            Debug.WriteLine("不存在");
+                        }
+                    }
+                }
+            }
+        }
     }
 }

+ 33 - 3
Main2.xaml

@@ -33,9 +33,36 @@
                 </DrawingGroup>
             </DrawingImage.Drawing>
         </DrawingImage>
+        <DrawingImage x:Key="friends_nums">
+            <DrawingImage.Drawing>
+                <DrawingGroup ClipGeometry="M0,0 V1024 H1024 V0 H0 Z">
+                    <GeometryDrawing Brush="#FFF" Geometry="F1 M1024,1024z M0,0z M512.018127441406,140.7236328125C386.078552246094,140.7236328125 283.536560058594,243.226898193359 283.536560058594,369.204376220703 283.536560058594,495.106048583984 386.003570556641,597.648864746094 512.018127441406,597.648864746094 637.994781494141,597.648864746094 740.535949707031,495.106872558594 740.535949707031,369.204376220703 740.535949707031,243.226898193359 637.994781494141,140.7236328125 512.018127441406,140.7236328125z" />
+                    <GeometryDrawing Brush="#FFF" Geometry="F1 M1024,1024z M0,0z M688.11962890625,592.435577392578C639.437561035156,630.917663574219 578.812805175781,654.760192871094 512.018127441406,654.760192871094 445.222625732422,654.760192871094 384.636596679688,630.844329833984 335.842468261719,592.435577392578 243.466674804688,651.248413085937 179.148040771484,754.530334472656 170.313385009766,874.148376464844 202.656860351563,878.545104980469 260.212310791016,883.2763671875 342.347747802734,883.2763671875L681.539367675781,883.2763671875C763.712707519531,883.2763671875 821.304412841797,878.545104980469 853.686614990234,874.148376464844 844.924468994141,754.454528808594 780.606658935547,651.248413085938 688.11962890625,592.435577392578z" />
+                </DrawingGroup>
+            </DrawingImage.Drawing>
+        </DrawingImage>
+        <DrawingImage x:Key="msg_nums">
+            <DrawingImage.Drawing>
+                <DrawingGroup ClipGeometry="M0,0 V1024 H1024 V0 H0 Z">
+                    <GeometryDrawing Brush="#FFF" Geometry="F1 M1024,1024z M0,0z M512,917.333333A308.458667,308.458667,0,0,1,425.941333,908.181333C366.592,890.88 248.298666,903.808 153.365333,922.666667 153.365333,922.666667 145.173333,924.010667 144.661333,924.010667A42.282667,42.282667,0,0,1,103.253333,871.488C123.498666,779.754667,131.306666,670.741333,115.584,596.906667A405.333333,405.333333,0,1,1,512,917.333333z M339.008,640L552.341333,640A32,32,0,1,0,552.341333,576L339.008,576A32,32,0,0,0,339.008,640z M680.341333,405.333333L339.008,405.333333A32,32,0,0,0,339.008,469.333333L680.341333,469.333333A32,32,0,1,0,680.341333,405.333333z" />
+                </DrawingGroup>
+            </DrawingImage.Drawing>
+        </DrawingImage>
+        <DataTemplate x:Key="ListViewItemContentTemplate">
+            <Grid Margin="5">
+                <Label Margin="0" Content="{Binding Account}" FontSize="16" VerticalAlignment="Top" HorizontalAlignment="Left" Foreground="White" />
+                <Image Source="{StaticResource friends_nums}" Width="15" Height="15" Margin="2,30,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" />
+                <Label Margin="13,25.5,0,0" Content="{Binding Friends_Number}" VerticalAlignment="Top" HorizontalAlignment="Left" Foreground="White" />
+                <Image Source="{StaticResource msg_nums}" Width="15" Height="15" Margin="60,30,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" />
+                <Label Margin="73,25.5,0,0" Content="{Binding Msg_Number}" VerticalAlignment="Top" HorizontalAlignment="Left" Foreground="White" />
+                <Border Margin="150,25.5,0,0"  VerticalAlignment="Top" HorizontalAlignment="Left" CornerRadius="5" BorderThickness="1" Background="White" >
+                    <Label Padding="5" FontSize="8" Content="{Binding DecryptStatus}"  Foreground="#2775b6" Background="Transparent" />
+                </Border>
+            </Grid>
+        </DataTemplate>
     </Window.Resources>
     <Grid Background="White">
-        <Image Name="img_btn_min" Source="{StaticResource svg_min}" Width="20" Height="20" HorizontalAlignment="Left" Margin="860,20,0,0" VerticalAlignment="Top">
+        <Image Panel.ZIndex="100" Name="img_btn_min" Source="{StaticResource svg_min}" Width="20" Height="20" HorizontalAlignment="Left" Margin="860,20,0,0" VerticalAlignment="Top">
             <Image.RenderTransform>
                 <RotateTransform CenterX="0.5" CenterY="0.5" />
             </Image.RenderTransform>
@@ -65,7 +92,7 @@
                 </EventTrigger>
             </Image.Triggers>
         </Image>
-        <Image Name="img_btn_close" Source="{StaticResource svg_close}" Width="20" Height="20" HorizontalAlignment="Left" Margin="900,20,0,0" VerticalAlignment="Top" MouseLeftButtonDown="img_btn_close_MouseLeftButtonDown">
+        <Image Panel.ZIndex="100" Name="img_btn_close" Source="{StaticResource svg_close}" Width="20" Height="20" HorizontalAlignment="Left" Margin="900,20,0,0" VerticalAlignment="Top" MouseLeftButtonDown="img_btn_close_MouseLeftButtonDown">
             <Image.RenderTransform>
                 <RotateTransform CenterX="0.5" CenterY="0.5" />
             </Image.RenderTransform>
@@ -96,7 +123,7 @@
             </Image.Triggers>
         </Image>
         <Grid Width="230" Background="#2775b6" HorizontalAlignment="Left" IsHitTestVisible="True">
-            <ListView Background="Wheat" Margin="0,0,0,85" />
+            <ListView BorderThickness="0" Background="Transparent" Margin="0,0,0,85" Name="list_workspace" ItemTemplate="{DynamicResource ListViewItemContentTemplate}" SelectionChanged="list_workspace_SelectionChanged"/>
             <Grid Name="new_workspace" Width="170" Height="40" VerticalAlignment="Bottom" Margin="30,45" IsHitTestVisible="True">
                 <Rectangle Name="new_workspace_fill" Fill="Transparent"  RadiusX="0" RadiusY="0" Stroke="White" StrokeDashArray="5" >
                     <Rectangle.Triggers>
@@ -134,6 +161,9 @@
             </Grid>
             <Label Name="lab_version" Content="版本:" Margin="10" VerticalAlignment="Bottom" HorizontalAlignment="Center" Foreground="White" />
         </Grid>
+        <Grid Margin="230,0,0,0" Width="720" Background="Transparent" HorizontalAlignment="Left" Panel.ZIndex="1">
+            <Frame Name="MainFrame" Source="/Pages/Welcome.xaml" NavigationUIVisibility="Hidden" />
+        </Grid>
     </Grid>
 
 </Window>

+ 56 - 2
Main2.xaml.cs

@@ -1,5 +1,8 @@
-using System;
+using Newtonsoft.Json;
+using System;
 using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -10,7 +13,7 @@ using System.Windows.Documents;
 using System.Windows.Input;
 using System.Windows.Media;
 using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
+using WechatPCMsgBakTool.Model;
 
 namespace WechatPCMsgBakTool
 {
@@ -19,15 +22,66 @@ namespace WechatPCMsgBakTool
     /// </summary>
     public partial class Main2 : Window
     {
+        public static UserBakConfig? CurrentUserBakConfig;
+        private ObservableCollection<UserBakConfig> userBakConfigs = new ObservableCollection<UserBakConfig>();
         public Main2()
         {
             InitializeComponent();
             lab_version.Content += $" {Application.ResourceAssembly.GetName().Version}";
+            // list_workspace.Items.Add(new { Name = "sxcoder", Friends_Number=23, Msg_Number=102302, Decrypt="已解密" });
+            LoadWorkspace();
         }
 
         private void img_btn_close_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
         {
             Application.Current.Shutdown();
         }
+
+        private void LoadWorkspace()
+        {
+            userBakConfigs.Clear();
+            string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "workspace");
+            if (Directory.Exists(path))
+            {
+                string[] files = Directory.GetFiles(path);
+                foreach (string file in files)
+                {
+                    string type = file.Substring(file.Length - 5, 5);
+                    if (type == ".json")
+                    {
+                        string jsonString = File.ReadAllText(file);
+                        UserBakConfig? userBakConfig = null;
+                        try
+                        {
+                            userBakConfig = JsonConvert.DeserializeObject<UserBakConfig>(jsonString);
+                        }
+                        catch
+                        {
+                            MessageBox.Show("读取到异常工作区文件,请确认备份数据是否正常\r\n文件路径:" + file, "错误");
+                        }
+                        if (userBakConfig != null)
+                        {
+                            userBakConfigs.Add(userBakConfig);
+                        }
+                    }
+                }
+            }
+            list_workspace.ItemsSource = userBakConfigs;
+        }
+
+        private void list_workspace_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+            UserBakConfig? config = list_workspace.SelectedItem as UserBakConfig;
+            if(config != null)
+            {
+                CurrentUserBakConfig = config;
+                MainFrame.Navigate(new Uri("pack://application:,,,/Pages/Workspace.xaml"));
+            }
+            else
+            {
+                MessageBox.Show("工作区配置文件异常,请确认工作区配置是否正常", "错误", MessageBoxButton.OK);
+                return;
+            }
+        }
     }
 }

+ 22 - 0
Model/WXModel.cs

@@ -13,10 +13,16 @@ namespace WechatPCMsgBakTool.Model
         public string UserResPath { get; set; } = "";
         public string UserWorkspacePath { get; set; } = "";
         public bool Decrypt { get; set; } = false;
+        public string DecryptStatus
+        {
+            get { return Decrypt ? "已解密" : "未解密"; }
+        }
         public string Hash { get; set; } = "";
         public string NickName { get; set; } = "";
         public string UserName { get; set; } = "";
         public string Account { get; set; } = "";
+        public string Friends_Number { get; set; } = "-";
+        public string Msg_Number { get; set; } = "-";
 
         public event PropertyChangedEventHandler? PropertyChanged;
         private void OnPropertyChanged(string propertyName)
@@ -113,6 +119,22 @@ namespace WechatPCMsgBakTool.Model
         public string StrContent { get; set; } = "";
         [Column("CompressContent")]
         public byte[]? CompressContent { get; set; }
+        [Column("BytesExtra")]
+        public byte[]? BytesExtra { get; set; }
+    }
+
+    [Table("ChatRoom")]
+    public class WXChatRoom
+    {
+        [Column("ChatRoomName")]
+        public string ChatRoomName { get; set; } = "";
+        [Column("UserNameList")]
+        public string UserNameList { get; set; } = "";
+        [Column("DisplayNameList")]
+        public string DisplayNameList { get; set; } = "";
+        [Column("RoomData")]
+        public byte[]? RoomData { get; set; }
+
     }
 
     [Table("Media")]

+ 30 - 0
Pages/Welcome.xaml

@@ -0,0 +1,30 @@
+<Page x:Class="WechatPCMsgBakTool.Pages.Welcome"
+      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:WechatPCMsgBakTool.Pages"
+      mc:Ignorable="d" 
+      d:DesignHeight="450" d:DesignWidth="800"
+      Title="Welcome" Background="White">
+
+    <Grid>
+        <Label FontSize="20" Margin="30,15" Content="欢迎页" HorizontalAlignment="Left" VerticalAlignment="Top" />
+        <Label Margin="30,45,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="欢迎使用溯雪微信备份工具,阅读使用说明有助于您对本工具的了解。"></Label>
+        <Label Margin="30,65,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="1、如果您是第一次使用本工具,请点击左下角新建工作区,开始进行微信备份。"></Label>
+        <Label Margin="30,85,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="2、如果您是需要对同一微信进行再次备份导出,也请点击新建工作区,会自行覆盖。"></Label>
+        <Label Margin="30,105,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="3、完成工作建立后,请点击左侧建立的工作区,进入工作台。"></Label>
+        <Label Margin="30,125,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="4、未解密备份,请先解密微信备份,请保持微信PC版是打开状态。"></Label>
+        <Label Margin="30,145,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="---关于解密方式"></Label>
+        <Label Margin="30,165,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="---版本推定"></Label>
+        <Label Margin="30,185,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="版本推定是通过version.json内的版本基址来直接获取key进行解密,不需要依赖用户名,缺点是每次微信版本更新"></Label>
+        <Label Margin="30,205,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="都需要额外维护version.json,更新不一定及时。"></Label>
+        <Label Margin="30,225,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="---用户名推定"></Label>
+        <Label Margin="30,245,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="用户名推定是通过新建工作区的时候,填写用户名,工具通过内存搜索的方式,自动推出key所在地址,并获取。"></Label>
+        <Label Margin="30,265,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="该方式的优点在于不受版本限制,推荐使用该方式进行解密。缺点就是劳烦您一定要写对微信用户名。"></Label>
+        <Label Margin="30,285,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="5、解密完成后,读取,就能愉快使用工具啦!"></Label>
+
+        <Label Margin="30,335,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="如果感觉工具好用,欢迎到github给我点个Star!点击本条去Star  >>>  SuxueCode/WechatPCMsgBakTool" Foreground="#2775b6" MouseDown="StarGithub_MouseDown"></Label>
+        
+    </Grid>
+</Page>

+ 10 - 4
WorkSpaceItem.xaml.cs → Pages/Welcome.xaml.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -13,16 +14,21 @@ using System.Windows.Media.Imaging;
 using System.Windows.Navigation;
 using System.Windows.Shapes;
 
-namespace WechatPCMsgBakTool
+namespace WechatPCMsgBakTool.Pages
 {
     /// <summary>
-    /// WorkSpaceItem.xaml 的交互逻辑
+    /// Welcome.xaml 的交互逻辑
     /// </summary>
-    public partial class WorkSpaceItem : UserControl
+    public partial class Welcome : Page
     {
-        public WorkSpaceItem()
+        public Welcome()
         {
             InitializeComponent();
         }
+
+        private void StarGithub_MouseDown(object sender, MouseButtonEventArgs e)
+        {
+            Process.Start("explorer.exe", "https://github.com/SuxueCode/WechatPCMsgBakTool");
+        }
     }
 }

+ 29 - 0
Pages/Workspace.xaml

@@ -0,0 +1,29 @@
+<Page x:Class="WechatPCMsgBakTool.Pages.Workspace"
+      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:WechatPCMsgBakTool.Pages"
+      mc:Ignorable="d" 
+      d:DesignHeight="450" d:DesignWidth="800"
+      Title="Workspace" Background="White">
+
+    <Grid>
+        <Label FontSize="20" Margin="30,15" Content="工作台" HorizontalAlignment="Left" VerticalAlignment="Top" />
+        <Label Name="lab_status" Margin="30,45,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="当前工作区还未解密,请先解密。"></Label>
+        <Button Name="btn_decrypt" Margin="35,80,0,0" Width="60" Height="30" Content="解密" Foreground="White" Background="#2775b6" BorderThickness="0" HorizontalAlignment="Left" VerticalAlignment="Top" Click="btn_decrypt_Click">
+            <Button.Resources>
+                <Style TargetType="{x:Type Border}">
+                    <Setter Property="CornerRadius" Value="3" />
+                </Style>
+            </Button.Resources>
+        </Button>
+        <Button Name="btn_read" Margin="125,80,0,0" Width="60" Height="30" Content="读取" IsEnabled="False" Foreground="White" Background="#2775b6" BorderThickness="0" HorizontalAlignment="Left" VerticalAlignment="Top" Click="btn_read_Click">
+            <Button.Resources>
+                <Style TargetType="{x:Type Border}">
+                    <Setter Property="CornerRadius" Value="3" />
+                </Style>
+            </Button.Resources>
+        </Button>
+    </Grid>
+</Page>

+ 55 - 0
Pages/Workspace.xaml.cs

@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using WechatPCMsgBakTool.Model;
+
+namespace WechatPCMsgBakTool.Pages
+{
+    /// <summary>
+    /// Workspace.xaml 的交互逻辑
+    /// </summary>
+    public partial class Workspace : Page
+    {
+        public WXUserReader? UserReader { get; set; }
+        public Workspace()
+        {
+            InitializeComponent();
+            UserBakConfig? config = Main2.CurrentUserBakConfig;
+            if (config != null)
+            {
+                if (config.Decrypt)
+                {
+                    btn_decrypt.IsEnabled = false;
+                    btn_read.IsEnabled = true;
+                }
+            }
+        }
+
+        private void btn_decrypt_Click(object sender, RoutedEventArgs e)
+        {
+            
+        }
+
+        private void btn_read_Click(object sender, RoutedEventArgs e)
+        {
+            if (Main2.CurrentUserBakConfig == null)
+            {
+                MessageBox.Show("工作区配置加载失败,请检查配置文件是否正常","错误");
+                return;
+            }
+
+            UserReader = new WXUserReader(Main2.CurrentUserBakConfig);
+        }
+    }
+}

+ 8 - 1
WXUserReader.cs

@@ -51,7 +51,14 @@ namespace WechatPCMsgBakTool
             }
             return con.Query<WXContact>(query);
         }
-
+        public List<WXChatRoom>? GetWXChatRooms()
+        {
+            SQLiteConnection con = DBInfo["MicroMsg"];
+            if (con == null)
+                return null;
+            string query = "select * from ChatRoom";
+            return con.Query<WXChatRoom>(query);
+        }
         public List<WXMsg>? GetWXMsgs(string uid,string msg = "")
         {
             List<WXMsg> tmp = new List<WXMsg>();

+ 0 - 12
WorkSpaceItem.xaml

@@ -1,12 +0,0 @@
-<UserControl x:Class="WechatPCMsgBakTool.WorkSpaceItem"
-             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:WechatPCMsgBakTool"
-             mc:Ignorable="d" 
-             d:DesignHeight="80" d:DesignWidth="230" Background="White">
-    <Grid>
-            
-    </Grid>
-</UserControl>