2013-07-18 4 views
5

mi sto muovendo un'applicazione WPF da VS 2010 al 2012. VSVisual Studio 2012 dal progettista XAML non mostra il contenuto corretto quando App.xaml nel completamento diverso

Ho un eseguibile principale che contiene l'App.xaml e una libreria di classi separata per tutte le cose WPF. In VS2012 (SP3) il progettista XAML non mostra nessuno stile che sia in un MergedResourceDictionary definito in App.xaml, VS 2010 fa ...

Per scopi di test ho spostato App.xaml nella mia libreria di classi. Dopo che il progettista VS 2012 ha mostrato tutto correttamente.

Poiché le librerie di classi non possono contenere un'app.xaml questa non è una soluzione.

Qualche idea?

mio App.xaml è simile al seguente:

<Application x:Class="MyApplication.App" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Startup="AppStartup"> 
<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="pack://application:,,,/OtherAssemblyName;component/Resources/Resource1.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/OtherAssemblyName;component/Resources/Resource2.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

risposta

0

che questa è una vecchia questione, ma di rispondere a tutti coloro che possono trovarsi di fronte qualcosa di simile in futuro.

Il modo più sicuro per realizzare ciò è creare un nuovo file ResourceDictionary e aggiungere i MergedResourceDictionaries al suo interno.

quindi fare riferimento a che ResourceDictionary nel controllo utente/pagine/finestre - tutti loro, dal momento che la

<UserControl.Resources> 
    <ResourceDictionary Source="GlobalResources.xaml" /> 
<UserControl.Resources>