Флажок в флажке
В моем простом приложении WPF я использую обычный элемент управления CheckBox. Похоже, я могу контролировать фон и передний план. Свойство Foreground управляет текстом рядом с флажком, но не галочкой. По умолчанию фоновый цвет белый, мой передний план очень близок к белому, потому что у меня темный фон формы окон.
Когда я запускаю приложение на моей машине разработки Windows 7, галочка имеет черный цвет. На компьютере с Win XP галочка зеленая. Однако на другой машине Win XP галочка невидима, потому что она белая на белом фоне.
Мой вопрос: "Как я могу контролировать цвет флажка моего флажка?".
Ответы
Ответ 1
Эта проблема возникает в Win XP, которая использует тему "Windows Classic" или использует Remote Desktop.
Отметка флажка флажка имеет цвет цвета переднего плана для всего CheckBox.
<CheckBox Foreground="White" Content="My Text" />
Я смог исправить эту проблему, изменив код ниже:
<CheckBox>
<Label Foreground="White">My Text</Label>
</CheckBox>
Ответ 2
Вам нужно переопределить ControlTemplate из CheckBox.
Вот пример на MSDN.
Ответ 3
В качестве альтернативы, я думаю, вы могли бы определить стиль, определяющий триггер, который изменяет цвет по вашему желанию. Поскольку это интересно, я попробую и отправлю образец немного.
Edit: nevermind, CheckBox использует BulletChrome, который выполняет некоторую визуализацию внутри себя и не раскрывает никаких интересных свойств, которые можно было бы использовать для подключения.