zoukankan      html  css  js  c++  java
  • WPF中使用第三方字体选择器

    起因

    到WPF的字体可以设置的东西变得非常的多,而却没有提供专用的字体选择对话框,甚至于WinFrom的FontDialog也是不能直接用来设置WPF中的字体.解决方法是使用第 三方的字体选择器

    第三方字体选择器

    我在这里介绍两个字体选择器,各有优缺点.

    第一个下载地址:http://ovpwp.wordpress.com/2009/05/04/wpf-choose-font-dialog/

    下载得到的源码可以把它的ChooseFontDialog项目的输出类型改成类库,并删除App.xaml文件.编译生成ChooseFontDialog.dll

    使用方法

    在需要使用字体选择器的地方加入ChooseFontDialog.dll的引用,在开头加入using ChooseFontDialog;

    具体的使用方案可以参考下面的代码片段

    ChooseFont dlg = new ChooseFont(sampleText);
    if (dlg.ShowDialog() == true)
    {
            dlg.ApplyTo(sampleText);
    }
    

    它的问题在于,对于中文字体的字体名显示的是英文.

    优点在于可以设置颜色,而且启动速度较快

    第二个下载地址:http://blogs.msdn.com/b/text/archive/2006/11/01/sample-font-chooser.aspx

    使用方法类似,把项目的输出改成类库,删除App.xaml和MainWindow.xaml,生成FontDialogSample.dll.

    使用的时候加入引用FontDialogSample.dll,童谣需要加入using FontDialogSample;

    以下为使用实例

    FontChooser fontChooser = new FontChooser();
    fontChooser.Owner = this;
    
    fontChooser.SetPropertiesFromObject(textBox);
    fontChooser.PreviewSampleText = textBox.SelectedText;
    
    if (fontChooser.ShowDialog().Value)
    {
        fontChooser.ApplyPropertiesToObject(textBox);
    }
    

    它的优点就是全面

    缺点是第一次调用的时候非常慢,之后再调用会好一些.而且对话框也太大了.

    其他问题

    这里解决了可以自定义字体的问题.但是我还不清楚要怎么有效的把字体信息写入到我的配置文件里面去. 可能要使用序列化的方法,但是似乎要序列化一整个选择器又显得不是很好.不知道有什么比较好的方案.

    DLL下载

    最后我提供我在32为系统下用VS2010编译的两个DLL文件

    https://files.cnblogs.com/atskyline/WPFFontDialog.7z

  • 相关阅读:
    Cordova-conifg.xml配置
    Cordova插件开发
    android shape的使用
    Cordova
    性能优化
    ionic默认样式android和ios差异
    在IIS中部署ASP.NET 5应用程序遭遇的问题
    Ionic命令大全
    IOS开发
    Cordova 8 架构使用sqlite
  • 原文地址:https://www.cnblogs.com/atskyline/p/2556650.html
Copyright © 2011-2022 走看看