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