当设备主题设置为黑暗时,ListPicker控件具有以下内容:
当设备主题设置为浅时,ListPicker控件具有以下内容:
我在listpicker的items集合中使用了一个图像+文本。如果主题设置为浅,它可以正常工作。但是,当主题设置为暗时,图像以正常模式显示,但在扩展模式下不可见。有关解决方法的任何想法吗?
见下面的图片
答案 0 :(得分:2)
我有两条建议很快,不需要对ListPicker
控件进行大量修改......
1)将手机的强调色用作图片的OpacityMask
...
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Rectangle Fill="{StaticResource PhoneAccentBrush}" Height="40" Width="40">
<Rectangle.OpacityMask>
<ImageBrush ImageSource="{Binding Icon}" />
</Rectangle.OpacityMask>
</Rectangle>
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
如果图标使用强调色,则它将在黑色或白色背景上显示。
2)更改ListPicker突出显示状态的背景颜色,使其在使用Light主题(默认)时为白色,在使用Dark主题时为黑色(与默认值不同)。我也改变了前景颜色。
<ObjectAnimationUsingKeyFrames
Storyboard.TargetName="UserControl"
Storyboard.TargetProperty="Foreground"
Duration="0">
<DiscreteObjectKeyFrame
Value="{StaticResource PhoneForegroundBrush}"
KeyTime="0"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames
Storyboard.TargetName="Border"
Storyboard.TargetProperty="Background"
Duration="0">
<DiscreteObjectKeyFrame
Value="{StaticResource PhoneBackgroundColor}"
KeyTime="0"/>
</ObjectAnimationUsingKeyFrames>
更改控件的主题不应该导致提交问题,只要控件是a)仍然可用,b)适用于Dark和Light主题。