none
SL3中文显示问题,带图片 RRS feed

答案

  • 不用一个个设置,
    你只要在silverlight的主页面上设置一次后,
    在这个页面上引用的usercontrol或者page 都会默认用主页面的设置的(前提是你没有在子usercontrol或子页面里面再加设置).

    如果你想做到Html中CSS那样的调用的话你也可以用SL的style.

    在App.xaml中加上你自己想要的style
        <Application.Resources>
            <Style x:Key="myFont" TargetType="UserControl"> 
                 <Setter Property="FontSize" Value="23"></Setter>
                <Setter Property="FontFamily" Value="黑体"></Setter>
            </Style>
        </Application.Resources>

    然后在你想使用该Style的同类控件中设置style:
    加上属性:Style="{StaticResource myFont}"

    在这个例子中:
     // style名为myFont,目标类型,这里设置为UserControl,所以这个style只能应用于UserControl类控件 
    2009年10月22日 9:53

全部回复

  • 应该是在IE6下面的运行结果吧?我的看法是标准字体放大缩小的问题。
    有些中文字体的矢量平移放大缩小在某些环境下没有做好,导致此结果。建议你把字体(fontsize)设为12,16等4的倍数应该能解决此问题。
    2009年10月21日 8:09
  • 是因为你的程序中使用的字体缺字。你仔细看一下就会发现,黑色的都是黑体字,灰色的都是宋体字。

    第一种情况是,使用了某一指定字体,但这个字体文件中没有包含全部汉字,难么缺少的那些汉字就会被系统用默认字体替换,也就是宋体。所以你要确保你所用的你指定的那一字体含有全部汉字。

    第二种情况是,你在Silverlight中使用了字体嵌入,但没有嵌入全部汉字,而是只嵌入了编程时所使用的部分字符。这样软件在运行时,只要遇到嵌入字体中有的字符,就会使用嵌入的字体,没有则使用默认的宋体。解决方法就是不要使用字体嵌入,或者只对内容固定不变的控件使用字体嵌入,比如TextBlock。
    2009年10月21日 9:27
  • <Button x:Name="ViewFullScreenButton" Content="全屏显示" Width="100" Margin="0 0 0 0" Click="ViewFullScreenButton_Click"></Button>

    这是我的代码,没有使用任何字体与样式啊
    aaaa
    2009年10月22日 1:35
  • 设置成FontSize="12" 时,字体就正常了。但不可能所有字体都这样设置吧,比如Label,TreeView,TextBlock控件等等


    <Button x:Name="ViewFullScreenButton" Content="全屏显示" Width="100" Margin="0 0 0 0" Click="ViewFullScreenButton_Click" FontSize="12" ></Button>


    aaaa
    2009年10月22日 1:38
  • 也就是默认情况下的控件字体,显示都是黑的,灰的这样显示,有没有什么全局性的设置?可以对所有字体进行设置


    aaaa
    2009年10月22日 1:47
  • 这个暂时没有很好的解决办法,和加载silverlight的容器有关,比如我在IE6测试时就遇到过类似的问题,但是在IE7中就没类似情况。
    应该是SL3在某些环境下字体加载系统字体而不能平滑放大缩小或者可以说没有正确加载的BUG. 

    2009年10月22日 2:00
  • 我用的是IE8
    aaaa
    2009年10月22日 6:06
  • 估计是默认字体太小的原因,我设置为9pt以上就正常,而且不用设置任何字体。
    aaaa
    2009年10月22日 8:27
  • 可能是因为你所设置的字体没有那小的字号的原因,
    silverlight自动转换成有该字号的“宋体”了,其实那个不是“灰色”,应该是silverlight的字体抗锯齿的效果吧.
    2009年10月22日 8:44
  • 那怎样设置全局的字体大小呢?默认的就是这样显示,不太好看。
    aaaa
    2009年10月22日 8:49
  • 在xaml文件的最顶端<UserControl  XXXXXX  >内可以设置当前页面的全局字体属性,

    2009年10月22日 9:03
  • 中文環境下SL的默認的字體是什麼字體呢?長得很奇怪
    2009年10月22日 9:34
  • 这样可以设置,但怎样设置所有UserControl控件与ChildWindow控件的字体?一个一个控件设置的话,麻烦一些。


    aaaa
    2009年10月22日 9:40
  • 不用一个个设置,
    你只要在silverlight的主页面上设置一次后,
    在这个页面上引用的usercontrol或者page 都会默认用主页面的设置的(前提是你没有在子usercontrol或子页面里面再加设置).

    如果你想做到Html中CSS那样的调用的话你也可以用SL的style.

    在App.xaml中加上你自己想要的style
        <Application.Resources>
            <Style x:Key="myFont" TargetType="UserControl"> 
                 <Setter Property="FontSize" Value="23"></Setter>
                <Setter Property="FontFamily" Value="黑体"></Setter>
            </Style>
        </Application.Resources>

    然后在你想使用该Style的同类控件中设置style:
    加上属性:Style="{StaticResource myFont}"

    在这个例子中:
     // style名为myFont,目标类型,这里设置为UserControl,所以这个style只能应用于UserControl类控件 
    2009年10月22日 9:53