Domanda

So che si può fare in CodeBehind con qualcosa di simile ...

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

Ma c'è un modo per fare questo tipo di cose in XAML?

Per esempio, ho il seguente nel mio App.xaml ...

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

E mi tiene questi gettando VS errori (anche se costruisce con successo) ...

  

errore 1 Tipo 'FontFamily' non è   utilizzabile come elemento oggetto perché   non è pubblico o non definisce un   costruttore senza parametri pubblico o un   genere   convertitore. C: \ Users \ jed.hunsaker \ Documenti \ Lavoro \ NextGen \ src \ ESO.App.Reporting \ ESO.App.Reporting.UI.Silverlight \ App.xaml 8 4 ESO.App.Reporting.UI.Silverlight

e ...

  

Errore 2 Il tipo 'FontFamily' non lo fa   supporto diretto   soddisfare. C: \ Users \ jed.hunsaker \ Documenti \ Lavoro \ NextGen \ src \ ESO.App.Reporting \ ESO.App.Reporting.UI.Silverlight \ App.xaml 8 42 ESO.App.Reporting.UI.Silverlight

A meno che voi ragazzi conoscere un modo migliore per memorizzare un FontFamily nel vostro App.xaml, sono tutto orecchie!

È stato utile?

Soluzione

È necessario utilizzare un dizionario risorse. Ecco un esempio:

<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>

E si dovrebbe fare riferimento in voi App.xaml in questo modo (ammesso che siano in una cartella 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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top