有没有办法忽略XAML抛出的Visual Studio错误?

时间:2009-07-27 20:29:08

标签: visual-studio xaml fonts app.xaml

我知道你可以在CodeBehind中用这样的东西来做...

#pragma warning disable 67
...
#pragma warning restore 67

但是有没有办法在XAML中做这类事情?

例如,我在App.xaml中有以下内容......

<FontFamily x:Key="ExtendedFontFamily">Verdana</FontFamily>

它一直在向我抛出这些VS错误(即使它成功构建)......

  

错误1类型'FontFamily'不是   可用作对象元素,因为它   不公开或不定义   公共无参数构造函数或   类型   转换器。 C:\ Users \ jed.hunsaker \ Documents \ Work \ NextGen \ src \ ESO.App.Reporting \ ESO.App.Reporting.UI.Silverlight \ App.xaml 8 4 ESO.App.Reporting.UI.Silverlight

和...

  

错误2“FontFamily”类型没有   直接支持   内容。 C:\ Users \ jed.hunsaker \ Documents \ Work \ NextGen \ src \ ESO.App.Reporting \ ESO.App.Reporting.UI.Silverlight \ App.xaml 8 42 ESO.App.Reporting.UI.Silverlight

除非你们知道在App.xaml中存储FontFamily的更好方法,否则我全都听见了!

1 个答案:

答案 0 :(得分:2)

您应该使用资源字典。这是一个例子:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <FontFamily x:Key="ExtendedFontFamily">Verdana</FontFamily>
</ResourceDictionary>

你应该像你这样引用App.xaml(假设它们在Resources文件夹中):

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
                x:Class="SilverlightApplication3.App"
                >
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Resources/Fonts.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>