5

我无法在 Metro 应用列表框中设置所选项目的样式。

我已经为包含我想更改颜色的 TextBlock 的项目创建了 DataTemplate。我从 WPF 中尝试了很多东西,但它们不适用于 Metro,如 DataTemplate.Triggers、Style.Triggers 等。我还尝试制作 ItemContainerStyle 模板的副本,但由于它使用 ContentPresenter 来显示我的 DataTemplate 我不知道要更改什么来实现我想要的。值转换器也是如此,因为我不知道如何使用 RelativeSource 为转换器提供 ListBoxItem 的 IsSelected 属性...。

感谢帮助!

4

1 回答 1

6

您更改 ItemContainerStyle 是完全正确的。如果您在 Visual Studio 或 Blend 中,请右键单击 ListView 并选择

编辑其他模板 -> 编辑生成的项目容器 [ItemContainerStyle] -> 编辑副本

这样做时,不要启用“编辑当前”,这一点很重要。如果是,请找到该模板并将其删除(它可能是一个空模板,而您需要完整的模板)。

这将为 ListViewItem 创建一个样式。ListViewItem 中有很多控件,其中大多数处理选择或其他状态。您需要对SelectedVisualState 进行更改。

于 2012-08-29T14:16:40.667 回答