ear*_*ing 4 xaml resourcedictionary windows-10 uwp
我有一个Windows 10通用应用程序,其中包含一些用于样式的资源字典等.在一个这样的资源字典中,我有一种颜色,MyBlue我想通过后面的代码访问.这是如何实现的?
我已经尝试过this.Resources["MyBlue"],但由于MyBlue是在一个单独的资源字典中定义而不是直接在页面资源中定义,因此它不存在于此集合中.
这是我的app.xaml:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles/PodStyles.xaml"/>
<ResourceDictionary Source="Styles/ButtonStyles.xaml"/>
<ResourceDictionary Source="Styles/OfferStyles.xaml"/>
<ResourceDictionary Source="Styles/MyStyles.xaml"/>
<ResourceDictionary>
<!--Global View Model Locator-->
<vm:ViewModelLocator x:Key="Locator"
d:IsDataSource="True"/>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
MergedDictionaries 可通过 获得Application.Current.Resources.MergedDictionaries。
我能够通过 Uri 获取适当的 ResourceDictionary,然后通过键名访问其中的项目:
var mergedDict = Application.Current.Resources.MergedDictionaries.Where(md => md.Source.AbsoluteUri == "ms-resource:///Files/Styles/MyStyles.xaml").FirstOrDefault();
newColor = (Windows.UI.Color)mergedDict["MyBlue"];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5450 次 |
| 最近记录: |