C'è un modo per ignorare gli errori di Visual Studio gettati da XAML?
-
19-09-2019 - |
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!
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>