我在特定于解决方案的WP8.1部分的页面中有一个列表视图,标准ObservableCollection
作为项目源。我想突出显示所选项目,目前只使用一个文本块的datatemplate。基本WP8.1控件似乎支持此功能,仅在W8.1版本中支持。
按照此处提供的解决方案; How to change color of the selected ListView item [WP8.1] 我设法用指定的颜色突出显示它,但我真的希望能够绑定到手机的强调颜色,我确信我能够在WP8.0中绑定到它,但资源在通用应用程序的页面中不可用。
目前我用
取代了'red'的直接颜色规格<ColorAnimation Duration="0" Storyboard.TargetName="myback" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" To="{ThemeResource PhoneChromeColor}"/>
用于突出显示该项目,但显然不是我想要的颜色。
我可以访问xaml中的PhoneAccentBrush
吗?有没有更好的方法来实现我的目标?我不是一个专业的开发人员,所以一些“用户友好”的指导将是最有帮助的。感谢。
答案 0 :(得分:2)
To
的{{1}}属性需要Color类型的对象。 ColorAnimation
属于SolidColorBrush类型。
以下是两条建议(我没有测试过,但我认为它们应该有效):
PhoneAccentBrush
类型的对象具有SolidColorBrush
类型的属性Color
,您可以像Color
一样使用。
您还可以使用{Binding Color, Source={StaticResource PhoneColorBrush}}
静态资源,它基本上是PhoneAccentColor
画笔的颜色,如下所示:PhoneAccentBrush
。
另外,如果你不是真的动画颜色,你可以用这样的东西改变整个画笔:
{StaticResource PhoneAccentColor}
我希望其中一些对你有用! :)
答案 1 :(得分:1)
我想首先同意@Scoregraphic是正确的。您的错误消息是您独有的。话虽这么说,你应该知道Windows上的重点画笔总是紫色的。因此,使用重点画笔几乎没有价值。
您可以使用特定于设备的样式来克服此问题。这意味着您可以在手机应用程序中使用重音笔刷,但在Windows应用程序中,您可以添加任何您希望获得有意义颜色的逻辑。
我在这里讨论特定于设备的样式:
http://channel9.msdn.com/series/Developing-Universal-Windows-Apps-with-C-and-XAML/03#time=27m00s
祝你好运!
答案 2 :(得分:0)
PhoneAccentBrush
可通过XAML中的{StaticResource PhoneAccentBrush}