如何设置标准textstyle(fontsize,fontfamily等),所以每个Control(Label,Textbox等)都会在设计时用新字体显示它的内容文本?
感谢您的帮助!
答案 0 :(得分:1)
您可以直接在XAML中设置窗口的TextElement附加属性,如下所示:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="300" Width="300"
TextElement.FontFamily="Bradley Hand ITC"
TextElement.FontSize="16">
// your XAML is here
</Window>
然后 - 为了避免这种&#34;默认文本样式&#34;也用于运行时 - 您只需要在窗口的构造函数中添加此代码:
public MainWindow()
{
InitializeComponent();
if (!DesignerProperties.GetIsInDesignMode(this))
{
DependencyPropertyDescriptor dependencyPropertyDescriptor =
DependencyPropertyDescriptor.FromProperty(TextElement.FontFamilyProperty, GetType());
dependencyPropertyDescriptor.SetValue(this, DependencyProperty.UnsetValue);
dependencyPropertyDescriptor =
DependencyPropertyDescriptor.FromProperty(TextElement.FontSizeProperty, GetType());
dependencyPropertyDescriptor.SetValue(this, DependencyProperty.UnsetValue);
}
}
因此,如果您的Window
不在设计时,代码会移除无用的样式。