我看过这篇文章:WPF ComboBox: background color when disabled 和其他一些......
但是这个解决方案给我带来了一些问题。我想要的只是使textBox变灰,而ComboBoxItems变灰并且不可选。我不想重新创建所有样式,因为控件在XP和7上都无法正常工作。我不想为两者选择一种风格,但我想要XP风格的XP风格和七种七种风格。
有没有办法设置样式,以便在comboBox为Readonly时可以更改ComboBoxItem的背景?
提前致谢!
更新:似乎应该重新设置下拉弹出窗口。我得知道如何。
答案 0 :(得分:1)
我终于在网上的许多地方找到了答案。 ComboBox样式由其他控件组成。 PopUp是我感兴趣的。它不公开,所以我无法按照我的意愿修改它。为我的弹出窗口定义一个样式并用它替换原始弹出窗口会很有趣,但它不可访问,所以......我试图创建一个继承自原始ComboBox模板的模板,但那是也不可能。由于某些充分的理由How to Inherit a Control Template,它不会接受继承。因此模板必须完全重建或不重建。另一种选择是使我自己的控制继承自组合框,并且当组合框是只读(进入代码)时,将项目更改为灰色并且不可选择,但在我的情况下这不是一个好主意。对我没有解决方案。我将不得不坚持整个模板的重新定义。我希望这篇文章能以某种方式帮助某人!