xaml 样式有没有办法将字体大小指定为 5 个值之一?
Posted
技术标签:
【中文标题】xaml 样式有没有办法将字体大小指定为 5 个值之一?【英文标题】:xaml styles Is there a way to specify fontsize to one of 5 values? 【发布时间】:2021-08-13 17:36:52 【问题描述】:我希望能够支持 5 种尺寸, 非常小,小,正常,大,非常大。
有没有一种聪明的方法来处理样式?
我在哪里定义了小?
我知道我可以只写 18,但我可能想稍后缩放字体...【问题讨论】:
是的,在您的资源中并将其命名为 x:Key="Small"。 好的,有道理,但是如何添加一个名为 small 的 int... 可能很简单 FontSize 是 System.Double 类型:<system:Double x:Key="Small" >18</system:Double>
如果你将它添加到 Application.Resouces 它将在你的整个应用程序中可用
什么样的问题? System.Double 也存在于 .Net 5 中docs.microsoft.com/en-us/dotnet/api/system.double?view=net-5.0
【参考方案1】:
这是一个完整的 .Net 5 示例,其中资源位于 MainWindow 中。
<Window x:Class="WpfNet5.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfNet5"
xmlns:system="clr-namespace:System;assembly=System.Runtime"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.Resources>
<system:Double x:Key="VerySmall">12</system:Double>
<system:Double x:Key="Small">18</system:Double>
<system:Double x:Key="Medium">22</system:Double>
<system:Double x:Key="Large">26</system:Double>
</Window.Resources>
<Grid>
<StackPanel >
<TextBlock Text="Very small" FontSize="DynamicResource VerySmall"/>
<TextBlock Text="Small" FontSize="DynamicResource Small"/>
<TextBlock Text="Medium" FontSize="DynamicResource Medium"/>
<TextBlock Text="Large" FontSize="DynamicResource Large"/>
</StackPanel>
</Grid>
</Window>
它在运行时的样子:
【讨论】:
谢谢,。这正是我正在寻找的东西,而我的麻烦非常简单。我写了以上是关于xaml 样式有没有办法将字体大小指定为 5 个值之一?的主要内容,如果未能解决你的问题,请参考以下文章