为什么在向ContentPresenter添加动态内容时未应用某些字体?

时间:2015-03-27 11:25:27

标签: c# windows-phone-8.1 winrt-xaml

我有基本ContentPresenter,我将动态内容添加到:

<ContentPresenter x:Name="Presenter"
                  FontSize="16"
                  FontFamily="Consolas" />

如果我直接在XAML文件中添加内容,例如

<ContentPresenter x:Name="Presenter"
                  FontSize="16"
                  FontFamily="Consolas">
    <TextBlock Text="Some text" />
</ContentPresenter>

TextBlock呈现正常,字体系列为Consolas

如果我在代码隐藏中动态添加内容,但

this.Presenter.Content = new TextBlock { Text = "Some Text" };

字体系列是系统的默认字体,而不是Consolas

BUT

如果我使用ContentPresenter并将字体设置为例如Courier New

<ContentPresenter x:Name="Presenter"
                  FontSize="16"
                  FontFamily="Courier New" />

静态动态添加的内容呈现得非常好!

1 个答案:

答案 0 :(得分:1)

Consolas字体不可用,请参阅此处的列表:https://msdn.microsoft.com/en-us/library/windows/apps/hh202920(v=vs.105).aspx