一般情況下,UWP中引用資源字典,只需要在App.xaml中的Application.Resources節點下增加一個ResourceDictionary節點,並將其Source指向對應的資源字典路徑即可,如:
<ResourceDictionary x:Key="Dark" Source="Resources/Themes/DarkTheme.xaml"></ResourceDictionary>
但是有些情況下,我們會給資源字典增加後臺代碼,進行一些事件處理,這時,如果還用這種方式引用,那麼事件就不會觸發了
一種推薦的做法是,在App.xaml的後臺代碼中,重寫OnLaunched方法,在其中引用,比如:
this.Resources.MergedDictionaries[4].MergedDictionaries.Add(new DataTemplates());
其中,DataTamplates是資源字典對應的後臺類
需要注意的是,不要在App的構造函數中調用,會引發災難性故障,雖然我也不知道到底發生什麼災難了。