我目前正在使用Windows UWP应用程序,其中我使用主题资源字典。
我的主题词典
<ResourceDictionary.ThemeDictionaries>
<!-- Light Theme resources -->
<ResourceDictionary x:Key="Light">
...
<ImageBrush x:Key="Hamburger" ImageSource="Assets/Images/DarkHamburger.png"/>
...
</ResourceDictionary>
<!-- Dark Theme resources -->
<ResourceDictionary x:Key="Dark">
...
<ImageBrush x:Key="Hamburger" ImageSource="Assets/Images/LightHamburger.png"/>
...
</ResourceDictionary.ThemeDictionaries>
和自定义控件属性
public ImageBrush toggleButtonImage
{
get { return base.GetValue(toggleButtonImageProperty) as ImageBrush; }
set { base.SetValue(toggleButtonImageProperty, value); }
}
public static readonly DependencyProperty toggleButtonImageProperty =
DependencyProperty.Register("toggleButtonImage", typeof(ImageBrush), typeof(HomeHeaderControl), null);
最后如果我写这个,它就可以了
<HomeHeaderControl.toggleButtonImage>
<ImageBrush Stretch="UniformToFill" ImageSource="Assets/Images/LightHamburger.png"/>
</HomeHeaderControl.toggleButtonImage>
但主题资源绑定无法正常工作
toggleButtonImage="{ThemeResource Hamburger}"
其他绑定正在运行,但ImageBrush除外。 任何帮助将不胜感激。
答案 0 :(得分:0)
您必须使用绝对路径和位图图像
<ResourceDictionary.ThemeDictionaries>
<!-- Light Theme resources -->
<ResourceDictionary x:Key="Light">
...
<BitmapImage x:Key="Hamburger" ImageSource="ms-appx:///Assets/Images/DarkHamburger.png"/>
...
</ResourceDictionary>
<!-- Dark Theme resources -->
<ResourceDictionary x:Key="Dark">
...
<BitmapImage x:Key="Hamburger" ImageSource="ms-appx:///Assets/Images/LightHamburger.png"/>
...
答案 1 :(得分:0)
谢谢大家 我找到了失踪者。我在ImageSource中使用相对路径。
我用过 - &gt;
data .map(lambda row: (row[0:2], {row[2]}) .reduceByKey(lambda a, b: a.union(b)) .collect()
它修复了它。