我正在开发一个Windows 8商店应用程序。我有一个Listview显示项目列表。我必须根据所选项目更改所选列表项目的背景颜色。背景颜色取决于所选项目.Is它可以做到吗?我能够改变所选项目的背景颜色,适用于所有项目。我想为特定的选定项目做。
先谢谢。
答案 0 :(得分:0)
确实可以做到!通常有两种方法可以做到这一点:
首先,您可以将背景值绑定到当前列表的所选项目。类似的东西:
<ListView
Background="{Binding RelativeSource={RelativeSource Self}, Path=SelectedItem.Color}"
..>
为了使特定代码能够工作,您绑定的项目必须具有Color属性,该属性可以是Brush(例如SolidColorBrush)或Color(我相信)。您可以使用Binding
的{{1}}属性并将项目上的任何属性(可能是项目本身,如果它是一个字符串)转换为正确的SolidColorBrush来解决这个问题。
第二种方法是添加一个SelectionChanged事件并在代码隐藏中更改它。类似的东西:
Converter
希望这有帮助!快乐的编码!