我的目标是创建一个窗口,当我使用它时,我会看到我的样式。我计划将此窗口作为视图的根。因此,我不想使用<Window>
作为我的根,而是使用<MyWindow>
。我的visual studio解决方案看起来像:
我计划使用以下资源词典命名 Styles.xaml :
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type TextBlock}" >
<Setter Property="FontFamily" Value="Wingdings 3"/>
</Style>
</ResourceDictionary>
我希望 MyWindow.xaml 拥有我所拥有的那种风格:
namespace ClassLibrary1.Style
{
public class MyWindow : Window
{
public MyWindow()
{
// merge the dictionary
var path = new Uri("/ClassLibrary1;component/Style/Styles.xaml", UriKind.RelativeOrAbsolute);
var recDic = new ResourceDictionary();
recDic.Source = path;
var dic = recDic;
// Clear any previous dictionaries loaded
Resources.MergedDictionaries.Clear();
// Add in newly loaded Resource Dictionary
Resources.MergedDictionaries.Add(dic);
}
}
}
现在我想使用该窗口而不是常规的Window类。然后我创建一个名为 Window1.xaml 的新窗口,它看起来像:
我的Testblock
为什么我只在运行时看到字体?如何查看我在设计时指定的字体?我还放置了:
this.FontFamily = new System.Windows.Media.FontFamily("Arial Black");
在 MyWindow 的构造函数中,而不是合并字典。