2010-02-04 9 views
10

Ho creato il mio convertitore personalizzato che, restituendo una stringa, restituisce Brush. Ora sono in grado di restituire pennelli costanti come Brushes.Red ecc., Ma voglio davvero usare i miei colori che ho definito in una risorsa a livello di applicazione.WPF: riferimento a risorse a livello di applicazione nel code-behind

Come faccio a fare riferimento alle risorse a livello di applicazione dalla mia classe di convertitore personalizzato? Vorrei usare FindResource ma come ho detto, questo è dalla mia classe di convertitore, non da una finestra o un controllo.

risposta

2

In aggiunta alla risposta di Reed, se il dizionario delle risorse è un file XAML standalone, è necessario assicurarsi che sia (come dice Reed) "definito sull'applicazione".

App.xaml:

<Application x:Class="WpfApplication10.App" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      StartupUri="MainWindow.xaml"> 
    <Application.Resources> 
     <ResourceDictionary Source="Dictionary1.xaml" /> 
    </Application.Resources> 
</Application> 

Dictionary1.xaml:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <TextBlock x:Key="k_foo" Text="FOO" /> 
</ResourceDictionary> 

Il Build Action su questo file XAML dizionario può essere impostata su Page. Dovrebbe essere nella stessa directory del file App.xaml.

Problemi correlati