作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 C# 和 XAML 开发 Windows 10 应用程序。我有一个 ListView,我想更改所选项目的默认 HighLight 颜色。我看到了许多代码示例(如 this ),但它们都是为 WP8 或 Win8 设计的,我试图实现它们,但它们对我不起作用。
一般来说,我在修改控件的默认主题时遇到了麻烦,因为我找不到有用的文档。如果有人可以帮助我处理高亮颜色并向我推荐好的文档,那就太好了。
最佳答案
实际上,发现样式属性的更好方法是使用 Blend。
首先,在 Blend 中打开您的页面。然后右键单击您的 ListView
并转到
编辑其他模板 > 编辑生成的项目容器 (ItemContainerStyle) > 编辑副本。
为其命名并点击确定。
现在,您已经为 ListViewItem
生成了完整的内置样式,在这里您可以找到有关它们的外观、动画和其他视觉行为的所有信息。
你应该看看这段代码——
<ListViewItemPresenter CheckBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
ContentMargin="{TemplateBinding Padding}"
CheckMode="Inline"
ContentTransitions="{TemplateBinding ContentTransitions}"
CheckBoxBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
DragForeground="{ThemeResource ListViewItemDragForegroundThemeBrush}"
DragOpacity="{ThemeResource ListViewItemDragThemeOpacity}"
DragBackground="{ThemeResource ListViewItemDragBackgroundThemeBrush}"
DisabledOpacity="{ThemeResource ListViewItemDisabledThemeOpacity}"
FocusBorderBrush="{ThemeResource SystemControlForegroundAltHighBrush}"
FocusSecondaryBorderBrush="{ThemeResource SystemControlForegroundBaseHighBrush}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
PointerOverForeground="{ThemeResource SystemControlHighlightAltBaseHighBrush}"
PressedBackground="{ThemeResource SystemControlHighlightListMediumBrush}"
PlaceholderBackground="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}"
PointerOverBackground="{ThemeResource SystemControlHighlightListLowBrush}"
ReorderHintOffset="{ThemeResource ListViewItemReorderHintThemeOffset}"
SelectedPressedBackground="{ThemeResource SystemControlHighlightListAccentHighBrush}"
SelectionCheckMarkVisualEnabled="True"
SelectedForeground="{ThemeResource SystemControlHighlightAltBaseHighBrush}"
SelectedPointerOverBackground="{ThemeResource SystemControlHighlightListAccentMediumBrush}"
SelectedBackground="{ThemeResource SystemControlHighlightListAccentLowBrush}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
看到行SelectedBackground="{ThemeResource SystemControlHighlightListAccentLowBrush}"
了吗?这就是您可以为其应用自己的颜色的地方。请记住,它应该是 Brush
类型而不是 Color
。
关于c# - 如何在 UWP (Windows 10) 中更改所选 ListView 项目的突出显示颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32302146/
我是一名优秀的程序员,十分优秀!