WPF应用开发技巧

WPF应用开发技巧

主界面定制开发

  1. 界面无边框样式应用

    • 样式引用

    在界面中引用已有的WindowStyle来实现界面无边框的样式

           
    
    • 样式定义

    也可以自己定义界面的样式,来实现界面样式个性化

           
    
  2. 界面最大最小关闭设计

    • 在MainWindow.xaml中定义最大最小关闭按钮样式及关联事件

      
           
              
    • 在MainWindow.xaml.cs中定义对应的事件

      
          private void WindowMinButtonClick(object sender, RoutedEventArgs e)
          {
              this.WindowState = WindowState.Minimized;
          }
      
          private void WindowMaxButtonClick(object sender, RoutedEventArgs e)
          {
              if (this.WindowState!=WindowState.Maximized)
              {
                  this.WindowState = WindowState.Maximized;
              }
              else
              {
                  this.WindowState = WindowState.Normal;
              }
          }
      
          private void WindowCloseButtonClick(object sender, RoutedEventArgs e)
          {
              this.Close();
          }
      
  3. 实现窗体鼠标左键拖拽

    响应窗体的MouseLeftButtonDown事件

       private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
       {
           this.DragMove();
       }
    
  4. 修复最大还原界面显示问题

    添加现有项 WindowBehaviorHelper.cs 到Lib文件夹中,在主界面的构造函数中调用修复方法。

       public MainWindow()
       {
           InitializeComponent();
           //缩放,最大化修复
           WindowBehaviorHelper windowHelper = new WindowBehaviorHelper(this);
           windowHelper.RepairBehavior();
       }
    

国际化

  1. 引入LocalResourceManager.cs

    可在WPF公用库的Lib中获取LocalResourceManager.cs文件,加入该文件后,在程序主窗体启动的构造函数中添加LocalResourceManager.GetInstance();,以加载语言文件资源。

    注意:必须加在InitializeComponent();代码段之前。

  2. 使用CSMultiLanguageManager提取项目中的语言资源

    具体使用方法见该工具的使用说明,可在WPF公用库的Tools目录中获取该工具。

  3. 使用WpfLangResxConveter将提取到的txt语言文件转换成xaml资源文件

    可在WPF公共库的Tools目录中获取到该工具。

    注意:转换后的资源文件命名需要按照规范,即 应用程序名称+语言类型+.xaml
    如对于ComplieClient转换资源文件,其中、英文命名应为:CompileClient.zh_CN.xaml、CompileClient.en-US.xaml,并且放置在应用程序根目录/Language目录下

  4. 设置程序默认的语言文件

    对于目前的这种通过加载本地语言资源实现国际化的方式,如果本地语言资源文件不存在,则应用程序中的语言字符是无法正常显示的,故需要设置程序默认的语言资源,并编译到程序中。如果本地语言资源不存在时,就加载默认资源文件。

    即需要在当前应用程序项目中新建Language文件夹,且加入应用程序名称+语言类型+.xaml的默认语言资源文件,目前优先支持中文,检测不到中文资源文件就会再检测英文资源文件。

你可能感兴趣的:(wpf,localization)