Visual Studio - WPF - 在设计时设置标准文本样式

Posted

技术标签:

【中文标题】Visual Studio - WPF - 在设计时设置标准文本样式【英文标题】:Visual Studio - WPF - Set standard Textstyle at designtime 【发布时间】:2016-03-12 00:04:05 【问题描述】:

如何设置标准文本样式(字体大小、字体系列等),以便每个控件(标签、文本框等)在设计时使用新字体显示其内容文本?

感谢您的每一个帮助!

【问题讨论】:

在这里回答:***.com/questions/14908148/… 【参考方案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>

然后-为了避免这种“默认文本样式”也用于运行时-您只需在窗口的构造函数中添加以下代码:

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 不在设计时,代码会删除无用的样式。

【讨论】:

以上是关于Visual Studio - WPF - 在设计时设置标准文本样式的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 Visual Studio 2008 中编辑 UI 时出现 WPF 设计器异常

如何在 Jetbrains Rider 中开发 GUI 设计器,例如在 Visual Studio 中用于 WinForms、WPF 等? [复制]

visual studio 2013 wpf 添加窗口加载和关闭函数

Visual Studio 2019 CPU占用率过高的问题WPF xaml 设计器卡顿

Jetbrains Rider + Visual Studio WPF

Visual Studio 2013 Express WPF Deigner 加载失败