博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF应用开发技巧
阅读量:6190 次
发布时间:2019-06-21

本文共 1840 字,大约阅读时间需要 6 分钟。

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的默认语言资源文件,目前优先支持中文,检测不到中文资源文件就会再检测英文资源文件。

转载地址:http://zgrda.baihongyu.com/

你可能感兴趣的文章
自动化运维工具Puppet(管理资源)
查看>>
福州周边游玩
查看>>
MyBatis基础入门
查看>>
linux开机启动过程
查看>>
ccnp第3讲之笔记 (eigrp)
查看>>
Bootstrap 下拉菜单disabled
查看>>
Hibernate5-多对1(n:1)-fetch="select"-lazy="false"
查看>>
SQL Server专用管理员连接(Dedicated Admin Connection(DAC))
查看>>
临时和持久化的网络驱动器映射
查看>>
$*与$@的区别示例
查看>>
四大组件的理解
查看>>
oracle 11G 12C 安装万能大法
查看>>
我的友情链接
查看>>
【月伴流星】Win7 SP1_x86/x64_2018.03多合一安装版
查看>>
Log4J的基本应用
查看>>
我的友情链接
查看>>
【NetApp】VASA 登录maintenance menu的方法
查看>>
我在百度运维的成长经历 之五
查看>>
让记录成为一种习惯
查看>>
我的友情链接
查看>>