XAML MergedDictionaries rewritten to code

There is this XAML code in 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.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> 

is equivalent to:

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> 

and 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) }); } } 



One side of the note: I need to call Application.Current.Resources.MergedDictionaries.Clear (); in this situation, before I start adding merged dictionaries? I think that at this point, by default, the MergedDictionaries Collection is initially empty.

+6
source share
1 answer

Ans1) Yes, absolutely. They are the same.

Ans2) No, you do not need to Clear() them, because there are no MergedDictionaries and, therefore, Count is 0 .

+4
source

Source: https://habr.com/ru/post/950368/


All Articles