Какой самый простой способ создать индикатор выполнения WPF без пунктирного стиля? - PullRequest
2 голосов
/ 26 января 2009

Я хочу создать индикатор выполнения, который не использует стиль WPF по умолчанию, который использует пунктирный дисплей. Все, что я хочу, это простой, «гладкий стиль» индикатор выполнения Другими словами, я не хочу, чтобы индикатор был разбит. Я хочу использовать сплошную цветную полосу.

Какой самый простой способ сделать это?

Я предполагал, что это будет частью API по умолчанию, но до сих пор мне не удалось поиграть с ним. Среди прочего я попытался установить кисть переднего плана, которая дает мне только цвет, а не стиль нарисованной полосы. Есть ли способ сделать это, который не требует переопределения шаблона по умолчанию (я полагаю, самое простое решение).

Ответы [ 2 ]

4 голосов
/ 27 января 2009

Стили по умолчанию для каждой ОС в файлах XAML, являющихся частью инфраструктуры. Вы можете использовать этот код ниже, чтобы заставить его использовать стили Vista в приложении даже в XP:

<Window.Resources>  

    <ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, 
    PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />

</Window.Resources>   

Однако это изменит внешний вид кнопки и всех других элементов пользовательского интерфейса.

Это основано на коде от здесь

1 голос
/ 13 марта 2009

Самый простой способ сделать это - просто позаимствовать и изменить тему / стиль для нужного мне индикатора выполнения. Это очень похоже на предложение Джона, но в моем случае я применяю только стиль для индикатора выполнения, а не весь интерфейс. Проект CodePlex WPF themes - отличный ресурс для такого рода вещей.

...