zoukankan      html  css  js  c++  java
  • 图片管理器

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Input;
    
    namespace Picture
    {
        public class MyCommand
        {
            //最小化命令
            public static RoutedCommand SmallCommand = new RoutedCommand();
    
            //最大化命令
            public static RoutedCommand BigCommand = new RoutedCommand();
    
            //正常窗口命令
            public static RoutedCommand NormalCommand = new RoutedCommand();
    
            //关闭命令
            public static RoutedCommand CloseCommand = new RoutedCommand();
    
            //开始自定义命令
            public static RoutedCommand UpCommand = new RoutedCommand();
    
            //前一张图片
            public static RoutedCommand BeforeCommand = new RoutedCommand();
    
            //后一张图片
            public static RoutedCommand AfterCommand = new RoutedCommand();
    
            //顺时针旋转
            public static RoutedCommand ClockwiseCommand = new RoutedCommand();
    
            //逆时针旋转
            public static RoutedCommand AntiClockwiseCommand = new RoutedCommand();
    
            //左右翻转
            public static RoutedCommand LeftAndRightCommand = new RoutedCommand();
    
            //上下翻转
            public static RoutedCommand AboveAndBelowCommand = new RoutedCommand();
    
            //放大图片
            public static RoutedCommand AmplificationCommand = new RoutedCommand();
    
            //缩小图片
            public static RoutedCommand NarrowCommand = new RoutedCommand();
    
            //幻灯片播放
            public static RoutedCommand SlideCommand = new RoutedCommand();
    
            //打开文件
            public static RoutedCommand OpenFileCommand = new RoutedCommand();
    
            //设置
            public static RoutedCommand SetCommand = new RoutedCommand();
    
            //向左移动
            public static RoutedCommand LeftCommand = new RoutedCommand();
    
            //向右移动
            public static RoutedCommand RightCommand = new RoutedCommand();
    
            //主题设置
            public static RoutedCommand ThemeCommand = new RoutedCommand();
    
        }
    }
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    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 System.Windows.Interop;
    using Microsoft.Win32;
    using System.Xml;
    using System.Diagnostics;
    using System.Collections;
    using System.IO;
    
    namespace Picture
    {
        /// <summary>
        /// MainWindow.xaml 的交互逻辑
        /// </summary>
        public partial class MainWindow : Window
        {
            public class LVData
            {
                public string Pic
                {
                    get;
                    set;
                }
            }
            bool bHelp = true;
    
            List<LVData> ListPicture = new List<LVData>();
            public MainWindow()
            {
                InitializeComponent();
    
                LVData iamgebrush1 = new LVData();
                //iamgebrush1.Pic = "D:\\Protect2010\\Picture\\Picture\\Images\\backimage.png";
                //ListPicture.Add(iamgebrush1);
    
                //LVData iamgebrush2 = new LVData();
                //iamgebrush2.Pic = "D:\\Protect2010\\Picture\\Picture\\Images\\backimage.png";
                //ListPicture.Add(iamgebrush2);
    
                //ImageBrush iamgebrush3 = new ImageBrush();
                //iamgebrush3.ImageSource = new BitmapImage(new Uri("D:\\Protect2010\\Picture\\Picture\\Images\\backimage.png"));
                //iamgebrush3.Stretch = Stretch.UniformToFill;
                //list.Add(iamgebrush3);
    
                //ImageBrush iamgebrush4 = new ImageBrush();
                //iamgebrush4.ImageSource = new BitmapImage(new Uri("D:\\Protect2010\\Picture\\Picture\\Images\\backimage.png"));
                //iamgebrush4.Stretch = Stretch.UniformToFill;
                //list.Add(iamgebrush4);
    
                //ImageBrush iamgebrush5 = new ImageBrush();
                //iamgebrush5.ImageSource = new BitmapImage(new Uri("D:\\Protect2010\\Picture\\Picture\\Images\\backimage.png"));
                //iamgebrush5.Stretch = Stretch.UniformToFill;
                //list.Add(iamgebrush5);
    
                //ImageBrush iamgebrush6 = new ImageBrush();
                //iamgebrush6.ImageSource = new BitmapImage(new Uri("D:\\Protect2010\\Picture\\Picture\\Images\\backimage.png"));
                //iamgebrush6.Stretch = Stretch.UniformToFill;
                //list.Add(iamgebrush6);
    
                //LVPicture.ItemsSource = ListPicture;
    
                //ImageBrush iamgebrush = new ImageBrush();
                //iamgebrush.ImageSource = new BitmapImage(new Uri("D:\\Protect2010\\Picture\\Picture\\Images\\backimage.png"));
                //iamgebrush.Stretch = Stretch.UniformToFill;
                //this.Background = iamgebrush;
    
                //DesignerHead.Visibility = Visibility.Hidden;
    
                double height = SystemParameters.WorkArea.Height;
                double width = SystemParameters.WorkArea.Width;
                this.Top = (height - this.Height) / 2;
                this.Left = (width - this.Width) / 2;
    
                XmlDocument doc = new XmlDocument();
                doc.Load("..\\..\\Configure.xml");
                //if (doc == null)
                //{
                //    MessageBox.Show("null");
                //}
                //else
                //{
                //    XmlNode xn = doc.SelectSingleNode("Configure/zhutua");
                //    bHelp = Convert.ToBoolean(xn.InnerText.ToString());
                    
                //}
                //if (bHelp)
                //{
                //    SPanel.Visibility = Visibility.Visible;
                //    PathName.Visibility = Visibility.Visible;
                //}
                //else
                //{
                //    SPanel.Visibility = Visibility.Hidden;
                //    PathName.Visibility = Visibility.Hidden;
                //}
                //Page4 page = new Page4();
                //frame1.Navigate(page);
    
                Page4 page = new Page4();
                frame1.Navigate(page);
                //frame1.Navigate(new Uri("Page1.xaml", UriKind.Relative));
    
            }
    
            private void CloseWindow(object sender, RoutedEventArgs e)
            {
                this.Close();
            }
    
            private void DragWindow(object sender, MouseButtonEventArgs e)
            {
                this.DragMove();
            }
    
    
            protected override void OnSourceInitialized(EventArgs e)   
            {   
                
                base.OnSourceInitialized(e);   
                HwndSource hwndSource = PresentationSource.FromVisual(this) as HwndSource;
                if (hwndSource != null)
                {
                    hwndSource.AddHook(new HwndSourceHook(this.WndProc));
                }
                else
                {
                    MessageBox.Show("df");
                }
            }
    
            //protected virtual IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
            //{
            //    return IntPtr.Zero;
            //}   
    
            private const int WM_NCHITTEST = 0x0084;   
            private readonly int agWidth = 12; //拐角宽度   
            private readonly int bThickness = 4; // 边框宽度   
            private Point mousePoint = new Point(); //鼠标坐标   
    
    
            protected virtual IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)   
            {
    
                        if (WM_NCHITTEST == msg)
                        {
                            this.mousePoint.X = (lParam.ToInt32() & 0xFFFF);
                            this.mousePoint.Y = (lParam.ToInt32() >> 16);
    
    
                            // 窗口左上角   
                            if (this.mousePoint.Y - this.Top <= this.agWidth
                               && this.mousePoint.X - this.Left <= this.agWidth)
                            {
                                handled = true;
                                return new IntPtr((int)HitTest.HTTOPLEFT);
                            }
                            // 窗口左下角       
                            else if (this.ActualHeight + this.Top - this.mousePoint.Y <= this.agWidth
                               && this.mousePoint.X - this.Left <= this.agWidth)
                            {
                                handled = true;
                                return new IntPtr((int)HitTest.HTBOTTOMLEFT);
                            }
                            // 窗口右上角   
                            else if (this.mousePoint.Y - this.Top <= this.agWidth
                               && this.ActualWidth + this.Left - this.mousePoint.X <= this.agWidth)
                            {
                                handled = true;
                                return new IntPtr((int)HitTest.HTTOPRIGHT);
                            }
                            // 窗口右下角   
                            else if (this.ActualWidth + this.Left - this.mousePoint.X <= this.agWidth
                               && this.ActualHeight + this.Top - this.mousePoint.Y <= this.agWidth)
                            {
                                handled = true;
                                return new IntPtr((int)HitTest.HTBOTTOMRIGHT);
                            }
                            // 窗口左侧   
                            else if (this.mousePoint.X - this.Left <= this.bThickness)
                            {
                                handled = true;
                                return new IntPtr((int)HitTest.HTLEFT);
                            }
                            // 窗口右侧   
                            else if (this.ActualWidth + this.Left - this.mousePoint.X <= this.bThickness)
                            {
                                handled = true;
                                return new IntPtr((int)HitTest.HTRIGHT);
                            }
                            // 窗口上方   
                            else if (this.mousePoint.Y - this.Top <= this.bThickness)
                            {
                                handled = true;
                                return new IntPtr((int)HitTest.HTTOP);
                            }
                            // 窗口下方   
                            else if (this.ActualHeight + this.Top - this.mousePoint.Y <= this.bThickness)
                            {
                                handled = true;
                                return new IntPtr((int)HitTest.HTBOTTOM);
                            }
                            else // 窗口移动   
                            {
                                handled = false;
                                return new IntPtr();// ((int)HitTest.HTCAPTION);
                            }
                        }
                        return IntPtr.Zero;
            }   
    
     
            public enum HitTest:int   
            {   
                HTERROR = -2,   
                HTTRANSPARENT = -1,   
                HTNOWHERE = 0,   
                HTCLIENT = 1,   
                HTCAPTION = 2,   
                HTSYSMENU = 3,   
                HTGROWBOX = 4,   
                HTSIZE = HTGROWBOX,   
                HTMENU = 5,   
                HTHSCROLL = 6,   
                HTVSCROLL = 7,   
                HTMINBUTTON = 8,   
                HTMAXBUTTON = 9,   
                HTLEFT = 10,   
                HTRIGHT = 11,   
                HTTOP = 12,   
                HTTOPLEFT = 13,   
                HTTOPRIGHT = 14,   
                HTBOTTOM = 15,   
                HTBOTTOMLEFT = 16,   
                HTBOTTOMRIGHT = 17,   
                HTBORDER = 18,   
                HTREDUCE = HTMINBUTTON,   
                HTZOOM = HTMAXBUTTON,   
                HTSIZEFIRST = HTLEFT,   
                HTSIZELAST = HTBOTTOMRIGHT,   
                HTOBJECT = 19,   
                HTCLOSE = 20,   
                HTHELP = 21,   
            }
    
            private void OpenFile(object sender, ExecutedRoutedEventArgs e)
            {
                OpenFileDialog myDialog = new OpenFileDialog();
    
                myDialog.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF" +
                  "|All files (*.*)|*.*";
    
                myDialog.CheckFileExists = true;
                myDialog.Multiselect = true;
    
                //DesignerHead.Visibility = Visibility.Visible;
    
                if (myDialog.ShowDialog() == true)
                {
                    //MessageBox.Show(myDialog.FileNames.First());
                    BitmapImage Bimage = new BitmapImage(new Uri(myDialog.FileNames.First(), UriKind.Absolute));
                    DesignerHead.Source = Bimage;
                }
            }
    
            private void CloseApp(object sender, ExecutedRoutedEventArgs e)
            {
                this.Close();
            }
    
            private void cmdClose_Click(object sender, RoutedEventArgs e)
            {
                //SPanel.Visibility = Visibility.Hidden;
                //PathName.Visibility = Visibility.Hidden;
                XmlDocument doc = new XmlDocument();
                doc.Load("..\\..\\Configure.xml");
                if (doc == null)
                {
                    MessageBox.Show("null");
                }
                else
                {
                    XmlNode xn = doc.SelectSingleNode("Configure/zhutua");
                    xn.InnerText = "false";
                    doc.Save("..\\..\\Configure.xml");
    
                }
            }
    
            //int IAngle = 0;
    
            private void button3_Click(object sender, RoutedEventArgs e)
            {
                //if (IAngle > 360)
                //{
                //    IAngle = 0;
                //}
                //else
                //{
                //    IAngle += 90;
                //}
                //RotateTransform rotateTransform = new RotateTransform(IAngle);
                //DesignerHead.RenderTransform = rotateTransform;
            }
    
            private void button4_Click(object sender, RoutedEventArgs e)
            {
                //if (IAngle < -360)
                //{
                //    IAngle = 0;
                //}
                //else
                //{
                //    IAngle -= 90;
                //}
                //RotateTransform rotateTransform = new RotateTransform(IAngle);
                //DesignerHead.RenderTransform = rotateTransform;
            }
    
            //int IScalex = -1;
    
            private void button5_Click(object sender, RoutedEventArgs e)
            {
                
                ////RenderTransformOrigin
                //DesignerHead.RenderTransformOrigin = new Point(0.5, 0.5);
    
                //ScaleTransform scaleTransform = new ScaleTransform();
                //scaleTransform.ScaleX = IScalex;
                ////scaleTransform.ScaleY = 1.2;
                ////scaleTransform.CenterX = 0; // DesignerHead.Width / 2;
                ////scaleTransform.CenterY = 0; // DesignerHead.Height / 2;
                //if (-1 == IScalex)
                //{
                //    IScalex = 1;
                //}
                //else
                //{
                //    IScalex = -1;
                //}
                //DesignerHead.RenderTransform = scaleTransform;
    
            }
    
            //int IScaley = -1;
    
            private void button6_Click(object sender, RoutedEventArgs e)
            {
                //DesignerHead.RenderTransformOrigin = new Point(0.5, 0.5);
    
                //ScaleTransform scaletransform = new ScaleTransform();
                //scaletransform.ScaleY = IScaley;
                //if (-1 == IScaley)
                //{
                //    IScaley = 1;
                //}
                //else
                //{
                //    IScaley = -1;
                //}
                //DesignerHead.RenderTransform = scaletransform;
            }
    
    
    
            private bool m_IsMouseLeftButtonDown;
    
            private void MasterImage_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
            {
                Rectangle rectangle = sender as Rectangle;
                if (rectangle == null)
                    return;
    
                rectangle.ReleaseMouseCapture();
                m_IsMouseLeftButtonDown = false;
            }
    
            private Point m_PreviousMousePoint;
    
            private void MasterImage_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                Rectangle rectangle = sender as Rectangle;
                if (rectangle == null)
                    return;
    
                rectangle.CaptureMouse();
                m_IsMouseLeftButtonDown = true;
                m_PreviousMousePoint = e.GetPosition(rectangle);
            }
    
            private void MasterImage_MouseMove(object sender, MouseEventArgs e)
            {
                Rectangle rectangle = sender as Rectangle;
                if (rectangle == null)
                    return;
                if (m_IsMouseLeftButtonDown)
                    DoImageMove(rectangle, e);
            }
    
            private void DoImageMove(Rectangle rectangle, MouseEventArgs e)
            {
    
                //Debug.Assert(e.LeftButton == MouseButtonState.Pressed);
                if (e.LeftButton != MouseButtonState.Pressed)
                    return;
                TransformGroup group = MainPanel.FindResource("ImageTransformResource") as TransformGroup;
                Debug.Assert(group != null);
                TranslateTransform transform = group.Children[1] as TranslateTransform;
                Point position = e.GetPosition(rectangle);
                transform.X += position.X - m_PreviousMousePoint.X;
                transform.Y += position.Y - m_PreviousMousePoint.Y;
                m_PreviousMousePoint = position;
            }
    
            private void MasterImage_MouseWheel(object sender, MouseWheelEventArgs e)
            {
                TransformGroup group = MainPanel.FindResource("ImageTransformResource") as TransformGroup;                        
                Debug.Assert(group != null);
                ScaleTransform transform = group.Children[0] as ScaleTransform;
                DesignerHead.RenderTransformOrigin = new Point(0.5, 0.5);
                transform.CenterX = this.Width / 2;
                transform.CenterY = this.Height / 2;
                transform.ScaleX += e.Delta * 0.001;
                transform.ScaleY += e.Delta * 0.001;
            }
    
            //主题更替
            private void ThemeCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                MessageBox.Show("主题更替");
            }
    
            //最小化命令
            private void SmallCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                this.WindowState = System.Windows.WindowState.Minimized;
            }
    
            Button btnBig = new Button();
            Button btnSmall = new Button();
            bool IsNormal = true;
            //最大化命令
            private void BigCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                //正常窗口到最大化
                if (IsNormal)
                {
                    this.WindowState = System.Windows.WindowState.Maximized;
                    IsNormal = false;
                    Button btn = e.OriginalSource as Button;
                    btnBig = btn;
                    btn.Content = "正  常";
                }
                else 
                {
                    this.WindowState = System.Windows.WindowState.Normal;
                    IsNormal = true;
                    Button btn = e.OriginalSource as Button;
                    btnBig = btn;
                    btn.Content = "最大化";
                }
            }
    
            //正常窗口命令
            private void NormalCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                Button btn = e.OriginalSource as Button;
                btnSmall = btn;
                btn.Visibility = Visibility.Hidden;
                btnBig.Visibility = Visibility.Visible;
                this.WindowState = System.Windows.WindowState.Normal;
                Page2 page = new Page2();
                page.WindowHeight = this.Height;
                page.WindowWidth = this.Width;
            }
    
            //关闭命令
            private void CloseCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                this.Close();
            }
    
            int IAngle = 0;
    
            //顺时针翻转
            private void ClockwiseCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                DesignerHead.RenderTransformOrigin = new Point(0.5, 0.5);
                if (IAngle > 360)
                {
                    IAngle = 0;
                }
                else
                {
                    IAngle += 90;
                }
                RotateTransform rotateTransform = new RotateTransform(IAngle);
                DesignerHead.RenderTransform = rotateTransform;
            }
    
            //逆时针翻转
            private void AntiClockwiseCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                DesignerHead.RenderTransformOrigin = new Point(0.5, 0.5);
                if (IAngle < -360)
                {
                    IAngle = 0;
                }
                else
                {
                    IAngle -= 90;
                }
                RotateTransform rotateTransform = new RotateTransform(IAngle);
                DesignerHead.RenderTransform = rotateTransform;
            }
    
            int IScalex = -1;
    
            //左右翻转
            private void LeftAndRightCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                DesignerHead.RenderTransformOrigin = new Point(0.5, 0.5);
    
                ScaleTransform scaleTransform = new ScaleTransform();
                scaleTransform.ScaleX = IScalex;
                //scaleTransform.ScaleY = 1.2;
                //scaleTransform.CenterX = 0; // DesignerHead.Width / 2;
                //scaleTransform.CenterY = 0; // DesignerHead.Height / 2;
                if (-1 == IScalex)
                {
                    IScalex = 1;
                }
                else
                {
                    IScalex = -1;
                }
                DesignerHead.RenderTransform = scaleTransform;
            }
    
            int IScaley = -1;
    
            //上下翻转
            private void AboveAndBelowCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                DesignerHead.RenderTransformOrigin = new Point(0.5, 0.5);
    
                ScaleTransform scaletransform = new ScaleTransform();
                scaletransform.ScaleY = IScaley;
                if (-1 == IScaley)
                {
                    IScaley = 1;
                }
                else
                {
                    IScaley = -1;
                }
                DesignerHead.RenderTransform = scaletransform;
            }
    
            //放大图片
            private void AmplificationCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                MessageBox.Show("放大图片");
            }
    
            //缩小图片
            private void NarrowCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                MessageBox.Show("缩小图片");
            }
    
            //前一张图片
            private void BeforeCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                MessageBox.Show("前一张图片");
            }
    
            //后一张图片
            private void AfterCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                MessageBox.Show("后一张图片");
            }
    
            //幻灯片播放
            private void SlideCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                MessageBox.Show("幻灯片播放");
            }
    
            //打开文件
            private void OpenFileCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                OpenFileDialog myDialog = new OpenFileDialog();
    
                myDialog.Filter = "Image Files(*.png;*.BMP;*.JPG;*.GIF)|*png;*.BMP;*.JPG;*.GIF" +
                  "|All files (*.*)|*.*";
    
                myDialog.CheckFileExists = true;
                myDialog.Multiselect = true;
    
                //DesignerHead.Visibility = Visibility.Visible;
    
                if (myDialog.ShowDialog() == true)
                {
                    DateTime date1 = DateTime.Now;
                    //MessageBox.Show(myDialog.FileNames.First());
                    BitmapImage Bimage = new BitmapImage(new Uri(myDialog.FileNames.First(), UriKind.Absolute));
                    string FileName = myDialog.SafeFileName;
                    string Files = myDialog.FileNames.First().Replace(FileName, "");
                    string[] sFileNames = Directory.GetFiles(Files);
                    foreach (string File in sFileNames)
                    { 
                        LVData lvdata = new LVData();
                        lvdata.Pic = File;
                        ListPicture.Add(lvdata);
                    }
                    DesignerHead.Source = Bimage;
                    //LVPicture.ItemsSource = ListPicture;
    
                    DateTime date2 = DateTime.Now;
    
                    DateTime date3 = DateTime.Now;
    
                }
            }
    
            //设置属性
            private void SetCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                MessageBox.Show("设置属性");
            }
    
            //左移图片
            private void LeftCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                MessageBox.Show("左移图片");
            }
    
            //右移图片
            private void RightCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                MessageBox.Show("右移图片");
            }
    
            private void clickdouble(object sender, MouseButtonEventArgs e)
            {
                this.WindowState = System.Windows.WindowState.Maximized;
            }
    
    
            bool bMove = false;
    
    
            private void MainPanel_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                //bMove = true;
            }
    
            private void MainPanel_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
            {
               // bMove = false;
            }
    
            private void MainPanel_PreviewMouseMove(object sender, MouseEventArgs e)
            {
                if (bMove)
                {
                   // this.DragMove();
                }
            }
    
    
    
        }
    }
    
    <Window x:Class="Picture.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:local ="clr-namespace:Picture"
            Title="MainWindow" Height="500" Width="600" WindowStyle="None" AllowsTransparency="True"
            MouseWheel="MasterImage_MouseWheel"
            MouseLeftButtonDown="DragWindow" BorderBrush="#FF9E2020" MouseDoubleClick="clickdouble" MinWidth="600" MinHeight="500">
        <Window.Background>
            <ImageBrush ImageSource="/Picture;component/Images/backimage.png" Stretch="None" TileMode="FlipXY" Viewport="0,0,23.9970001156186,20.9973751011662" ViewportUnits="Absolute" />
        </Window.Background>
        <Window.CommandBindings>
            <CommandBinding Command="{x:Static local:MyCommand.ThemeCommand}" Executed="ThemeCommand_Executed"></CommandBinding>
            <CommandBinding Command="Open" Executed="OpenFile"></CommandBinding>
            <CommandBinding Command="Close" Executed="CloseApp"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.SmallCommand}" Executed="SmallCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.NormalCommand}" Executed="NormalCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.BigCommand}" Executed="BigCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.CloseCommand}" Executed="CloseCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.ClockwiseCommand}" Executed="ClockwiseCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.AntiClockwiseCommand}" Executed="AntiClockwiseCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.LeftAndRightCommand}" Executed="LeftAndRightCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.AboveAndBelowCommand}" Executed="AboveAndBelowCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.AmplificationCommand}" Executed="AmplificationCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.NarrowCommand}" Executed="NarrowCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.BeforeCommand}" Executed="BeforeCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.AfterCommand}" Executed="AfterCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.SlideCommand}" Executed="SlideCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.OpenFileCommand}" Executed="OpenFileCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.SetCommand}" Executed="SetCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.LeftCommand}" Executed="LeftCommand_Executed"></CommandBinding>
            <CommandBinding Command="{x:Static local:MyCommand.RightCommand}" Executed="RightCommand_Executed"></CommandBinding>
        </Window.CommandBindings>
        <Window.Resources>
            <Storyboard x:Key="LoadHeadStoryboard">
                 <DoubleAnimationUsingKeyFrames BeginTime="00:00:00"   Duration="00:00:02" Storyboard.TargetName="DesignerHead" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
                    <SplineDoubleKeyFrame   Value="1"/>
                    <SplineDoubleKeyFrame    Value="-1"/>
                 </DoubleAnimationUsingKeyFrames>
            </Storyboard>
            <Style x:Key="ButtonStyle" TargetType="{x:Type Button}">
                <Setter Property="Foreground" Value="White"/>
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type Button}">
                            <Grid>
                                <Rectangle x:Name="Rectangle"
                                                   Stroke="#FFFFFFFF"
                                                   StrokeMiterLimit="1.000000"
                                                   StrokeThickness="0.500000"
                                                   RadiusX="10"
                                                   RadiusY="10"
                                                   Fill="#FF777777">
                                </Rectangle>
                                <ContentPresenter x:Name="ContentPresenter"
                                                               SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                                               HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                               VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                                               RecognizesAccessKey="True"/>
                            </Grid>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsMouseOver" Value="true">
                                    <Setter Property="Fill" TargetName="Rectangle">
                                        <Setter.Value>
                                            <SolidColorBrush Color="White"></SolidColorBrush>
                                        </Setter.Value>
                                    </Setter>
                                    <Setter Property="Foreground" Value="Black"></Setter>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </Window.Resources>
    
        <Window.Triggers>
            <EventTrigger RoutedEvent="MouseDown">
                <BeginStoryboard Storyboard="{StaticResource LoadHeadStoryboard}"/>
            </EventTrigger>
        </Window.Triggers>
    
        <!-- 窗体中的内容 -->
        <Grid x:Name="MainPanel" PreviewMouseLeftButtonUp="MainPanel_PreviewMouseLeftButtonUp" PreviewMouseMove="MainPanel_PreviewMouseMove"  PreviewMouseLeftButtonDown="MainPanel_PreviewMouseLeftButtonDown" >
            <Grid.Resources>
                <TransformGroup x:Key="ImageTransformResource">
                    <ScaleTransform />
                    <TranslateTransform />
                </TransformGroup>
            </Grid.Resources>
    
            <Rectangle x:Name="MasterImage"
                       MouseLeftButtonDown="MasterImage_MouseLeftButtonDown"
                       MouseLeftButtonUp="MasterImage_MouseLeftButtonUp"
                       MouseMove="MasterImage_MouseMove"
                       MouseWheel="MasterImage_MouseWheel">
                <Rectangle.Fill>
                    <VisualBrush Transform="{StaticResource ImageTransformResource}" Stretch="Uniform">
                        <VisualBrush.Visual>
                            <Image Name="DesignerHead"  HorizontalAlignment="Left" Margin="16,16,0,0" Stretch="Fill" VerticalAlignment="Top" Source="/Picture;component/Images/Lighthouse.jpg" />
                        </VisualBrush.Visual>
                    </VisualBrush>
                </Rectangle.Fill>
            </Rectangle>
            
            <ListView Name="LVPicture" Width="400" Height="100" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="96,0,82,70">
                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <StackPanel Orientation="Horizontal"></StackPanel>
                    </ItemsPanelTemplate>                
                </ItemsControl.ItemsPanel>
                
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"></RowDefinition>
                                <RowDefinition Height="Auto"></RowDefinition>
                            </Grid.RowDefinitions>
                            <Image Width="30" Height="30" Source="{Binding Pic}"></Image>
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListView>
            <!--<Image RenderTransformOrigin="0.4,0.5" HorizontalAlignment="Center" x:Name="DesignerHead" Stretch="Fill" VerticalAlignment="Center" Source="/Picture;component/Images/Desert%20-%20副本%20-%20副本%20%289%29%20-%20副本.jpg" Width="284" Margin="0" Height="351">
                <Image.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform ScaleX="1" ScaleY="1"  />
                    </TransformGroup>
                </Image.RenderTransform>
            </Image>-->
            <!-- 窗体的边框,底色设置,
                   注意将CornerRadius与左上角“X”叉形按钮的设置保持一致或约大于叉形按钮的RadiusX/Y设置 -->
            <!--<Border CornerRadius="0,0,0,0" Background="Transparent" BorderBrush="Aqua" BorderThickness="1">
                <Frame Name="frame1" Background="Transparent" BorderBrush="Red" BorderThickness="5" />
            </Border>-->
            <Frame Name="frame1"></Frame>
            <!--左上角的“X”叉形按钮-->
            <!--<Button Name="Button1" 
                    Command="Close"
                         Style="{StaticResource ButtonStyle}"
                         Width="15"
                         Height="15"
                         Content="X"
                         HorizontalAlignment="Right"
                         VerticalAlignment="Top"
                         Margin="0,25,27,0"></Button>-->
            <!--<Path Name="PathName" Stroke="DarkGray" StrokeThickness="1" SnapsToDevicePixels="True" Data="M20,0 L140,0 A20,20,0,0,1,160,20 L160,60 A20,20,0,0,1,140,80 L70,80 L70,130 L40,80 L20,80 A20,20,0,0,1,0,60 L0,20 A20,20,0,0,1,20,0 z" Margin="144,43,194,135">
                <Path.Fill>
                    <LinearGradientBrush StartPoint="0.2,0" EndPoint="0.8,1">
                        <LinearGradientBrush.GradientStops>
                            <GradientStop Color="White" Offset="0"></GradientStop>
                            <GradientStop Color="White" Offset="0.45"></GradientStop>
                            <GradientStop Color="LightBlue" Offset="0.9"></GradientStop>
                            <GradientStop Color="Gray" Offset="1"></GradientStop>
                        </LinearGradientBrush.GradientStops>
                    </LinearGradientBrush>
                </Path.Fill>
                <Path.RenderTransform>
                    <ScaleTransform ScaleX="1.3" ScaleY="1.3"></ScaleTransform>
                </Path.RenderTransform>
            </Path>
    
            <StackPanel Name="SPanel" Margin="154,46,161,95">
                <Button HorizontalAlignment="Right" Click="cmdClose_Click" Margin="0,5,10,0" >
                    x
                </Button><TextBlock TextWrapping="Wrap"  FontSize="15" HorizontalAlignment="Center">Open File</TextBlock>
            </StackPanel>
            <Button Command="Open" Content="{Binding RelativeSource={RelativeSource Self},Path=Command.Text}" Height="23" HorizontalAlignment="Left" Margin="207,218,0,0" Name="button2" VerticalAlignment="Top" Width="75" />-->
    
    
            <!--<Button Content="上一页" Height="23" HorizontalAlignment="Left" Margin="26,275,0,0" Name="button3" VerticalAlignment="Top" Width="75" Command="{x:Static local:MyCommand.UpCommand}" />
            <Button Content="下一页" Height="23" HorizontalAlignment="Left" Margin="117,275,0,0" Name="button4" VerticalAlignment="Top" Width="75" Click="button4_Click" />
            <Button Content="左右翻转" Height="23" HorizontalAlignment="Left" Margin="214,275,0,0" Name="button5" VerticalAlignment="Top" Width="75" Click="button5_Click" />
            <Button Content="上下翻转" Height="23" HorizontalAlignment="Left" Margin="309,275,0,0" Name="button6" VerticalAlignment="Top" Width="75" Click="button6_Click" />-->
            <!--<Rectangle x:Name="MasterImage"
                       MouseLeftButtonDown="MasterImage_MouseLeftButtonDown"
                       MouseLeftButtonUp="MasterImage_MouseLeftButtonUp"
                       MouseMove="MasterImage_MouseMove"
                       MouseWheel="MasterImage_MouseWheel" Width="30" Height="30">
                <Rectangle.Fill>
                    <VisualBrush Transform="{StaticResource ImageTransformResource}" Stretch="Uniform">
                        <VisualBrush.Visual>
                            <Image Height="1" Name="DesignerHead"  HorizontalAlignment="Left" Margin="16,16,0,0" Stretch="Fill" VerticalAlignment="Top" Width="1" Source="/Picture;component/Images/Lighthouse.jpg" />
                        </VisualBrush.Visual>
                    </VisualBrush>
                </Rectangle.Fill>
            </Rectangle>-->
        </Grid>
    </Window>
    
  • 相关阅读:
    win8平板App文件上传
    win8 APP中网页js如何触发后台的ScriptNotify方法
    lsof list open files
    python下的一个人脸识别包
    mysql hex() and unhex()
    git 补丁git formatpatch
    perl sort
    git 分支无法checkout的解决办法
    PERL 语言中的q,qw,qr,qx,qq......符号用法总结
    perl 的真假值
  • 原文地址:https://www.cnblogs.com/gengyuanchao/p/2825685.html
Copyright © 2011-2022 走看看