我正在玩主题,看到你可以定义一大堆从对象派生的东西,或者与类的类型相关联...... SolidBrushColor,Button,TextBox等。
然后您可以应用x:Key =“something”然后将其绑定到样式中,例如
<Setter Property="Foreground" Value="{StaticResource SomeSolidBrushColor}" />
所以,我的问题是这个。你可以做同样的事情,但是你想要经常使用“字符串”......例如,要在所有控件上显式使用的字体名称... Button,Label,TextBox,CheckBox等等所以你可以拥有一个值为“Arial”,“Tahoma”,“Wingdings”的字符串,然后在实际控件的每个样式中,您可以执行类似
的操作<Setter Property="FontFamily" Value="{StaticResource MyCommonFontName}" />
同样,该值可以表示用于常见边距,边框等内容的字符串。
答案 0 :(得分:1)
您不能将字符串资源用于字体,因为它是字符串而不是FontFamily对象:
<Window x:Class="WpfApplication4.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication4"
xmlns:media="clr-namespace:System.Windows.Media;assembly=PresentationCore"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<media:FontFamily x:Key="Font">Stencil</media:FontFamily>
<Style TargetType="{x:Type Button}">
<Setter Property="FontFamily" Value="{StaticResource Font}"/>
</Style>
</Window.Resources>
<StackPanel>
<Button>hello</Button>
</StackPanel>