在编辑自定义控件的模板副本时,未获取ThemeDictionaries中定义的静态资源。
这是行为还是问题?
在我的场景中,我想从ThemeDictionaries中获取StaticResource。
任何解决方法是否满足我的要求?
注意:我使用ThemeDictionaries根据Highcontrast,light和默认主题更改控件的颜色
此致 Priyanga B
答案 0 :(得分:1)
解决此问题的一种方法是直接将'ThemeDictionaries'放在主项目的App.xaml
中。例如:
<Application
x:Class="CustomControlUWP.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:CustomControlUWP"
xmlns:Input="using:CustomControl1"
RequestedTheme="Light">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<SolidColorBrush x:Key="Backcolor" Color="Black"/>
</ResourceDictionary>
<ResourceDictionary x:Key="Default">
<SolidColorBrush x:Key="Backcolor" Color="Pink"/>
</ResourceDictionary>
<ResourceDictionary x:Key="HighContrast">
<SolidColorBrush x:Key="Backcolor" Color="Red"/>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>
另一种方法是在类库中的单独xaml文件中定义ThemeDictionaries,在主项目的App.xaml
中,您可以像这个线程一样添加对资源字典的引用:Linking ThemeDictionaries in Library Project