программирование какао для Mac OS X Aaron Hillegass
Ответ Дабблернл надежный. Вот хак (потому что он опирается на внутреннее имя элемента, который светится, что является деталью реализации и может измениться в последующей версии):
void SetGlowVisibility(ProgressBar progressBar, Visibility visibility) {
var anim = progressBar.Template.FindName("Animation", progressBar) as FrameworkElement;
if (anim != null)
anim.Visibility = visibility;
}
Если как ProgressBar
Внесенные изменения, этот хак может перестать работать.
С другой стороны, решение, которое полностью заменяет XAML и стили, может блокировать и фиксировать цвета, границы и т. Д. И отключать поведение, которое может быть добавлено к более новой версии ProgressBar в будущем ...
Редактировать: Детали реализации изменились. Изменено с "PART_GlowRect"
на "Animation"
- первый используется только в aero.normalcolor.xaml
, а последний используется в более поздних aero2.normalcolor.xaml
и aerolite.normalcolor.xaml
.
Я думаю, что единственный способ - это создать собственный стиль для ProgressBar
.
Описание MSDN для IsIndeterminate относится к другому поведению и, по умолчанию, оно ложно, поэтому настройка ничего не меняет.