Domanda

Ai fini della localizzazione in WPF vorrei scorrere tutti ResourceManagers di un assieme.

Il motivo che voglio fare questo è che ho un'estensione tradurre XAML markup. Questo deve estensione di markup per istanziare un ResourceManager utilizza uno spazio dei nomi completo e un nome di montaggio.

Il valore di default è l'Assemblea l'assemblea in cui il file XAML si trova in cui possono essere recuperate nel seguente modo:

var rootObjectProvider = serviceProvider.GetService(typeof(IRootObjectProvider)) as IRootObjectProvider;
var root = rootObjectProvider.RootObject;
var assembly = ass = Assembly.GetAssembly(root.GetType());

Quando dato un percorso relativo al percorso predefinito deve essere anteposto, ma questa è una cosa che non è una cosa VS assemblaggio. La maggior parte dei gruppi hanno lo stesso nome del namespace di default, ma questo non è sempre il caso. Perciò vorrei scorrere tutti ResourceManagers in un assieme e cercare di far corrispondere l'ultima parte del loro spazio dei nomi con il percorso dizionario dato alla estensione di markup.

È stato utile?

Soluzione

Va bene ho scoperto come si fa:

var resources = assembly.GetManifestResourceNames();

L'operazione sembra molto costoso, però, la prossima sfida: il caricamento di un ResourceManager in un ResourceDictionary ..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top