这是交易。我可以创建一个 ListBox 并为其设置样式。我可以编辑模板的副本,使状态在 Expression Blend 3 中可用。我可以更改状态,以便在选择时修改行项目的背景颜色。但是由于 ContentPresenter,我无法更改文本的前景色!有没有人有任何示例 XAML 来展示如何完成这个看似简单的任务?
答案似乎在于删除 ContentPresenter 并用某种 ListBoxItem 样式或模板替换它,但这是我卡住的地方。ListBox 的 ContentPresenter 引用了其他一些模板“{TemplateBinding Template}” - 那在哪里?此外,当我尝试以任何方式修改 ContentPresenter 时,States 面板变为空白,并且我留下了一堆 XAML。幸运的是,有 CTRL-Z!
我真的认为微软必须重新考虑 XAML 方法或使 Blend 成为一个更完整的工具。它应该工作的方式是我应该能够单击任何元素并为其定义状态。如果我试图打破规则,Blend 应该告诉我并提供解决方法。只是让“状态”面板为空是没有帮助的。