2013-07-26 16 views
6

Is questo codice XAML in App.xaml:MergedDictionaries in XAML riscritto in codice

<Application x:Class="Company.Product.App" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    > 
    <Application.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="/Company.Windows.Themes.Theme1;component/Themes/System.Windows.xaml"/> 
      <ResourceDictionary Source="/Company.Windows.Themes.Theme1;component/Themes/Company.Windows.Controls.xaml"/> 
      <ResourceDictionary Source="/Company.Windows.Themes.Theme1;component/Themes/Company.Windows.Controls.Data.xaml"/>    
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Application.Resources> 
</Application> 

equivalente a:

App.xaml:

<Application x:Class="Company.Product.App" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    > 
</Application> 

e in App.xaml.cs:

public partial class App : Application 
{ 
    public App() 
    {    
     Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() 
     { 
      Source = new Uri("/Company.Windows.Themes.Theme1;component/Themes/System.Windows.xaml", UriKind.RelativeOrAbsolute) 
     }); 
     Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() 
     { 
      Source = new Uri("/Company.Windows.Themes.Theme1;component/Themes/Company.Windows.Controls.xaml", UriKind.RelativeOrAbsolute) 
     }); 
     Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() 
     { 
      Source = new Uri("/Company.Windows.Themes.Theme1;component/Themes/Company.Windows.Controls.Data.xaml", UriKind.RelativeOrAbsolute) 
     }); 
    } 
} 



nota Un lato: Devo chiamare Application.Current.Resources.MergedDictionaries.Clear(); in questa situazione prima di iniziare ad aggiungere i dizionari uniti? Penso che in questo momento la raccolta predefinita di MergedDictionaries sia vuota.

risposta

4

Ans1) Sì assolutamente. Sono uguali.

Ans2) No, non c'è bisogno di loro per Clear() non ci sono MergedDictionaries e quindi Count è 0.

+0

Grazie mille per la risposta rapida, quasi immediata. :) – kajovajo