WPF: создание динамического индикатора прогресса

В настоящее время я пытаюсь написать приложение с индикатором прогресса на C # с помощью WPF:

<Path Canvas.Left="15" Canvas.Top="50" Stroke="Red" StrokeThickness="6" Data=" M 700,100 L 620,100 C 620,100 600,100 600,80 L 600,50 C 600,50 600,30 580,30 L 50,30 L 50,340 L 580,340 C 580,340 600,340 600,320 L 600,290 C 600,290 600,270 620,270 L 700,270" Name="Progress" StrokeDashCap="Flat" StrokeEndLineCap="Round" StrokeLineJoin="Round" StrokeStartLineCap="Round" StrokeMiterLimit="30">

imagehttp://img839.imageshack.us/my.php?image=20100831180406.png

На этом индикатор готов. Однако у меня пока нет возможности уменьшить длину индикатора. Я мог бы перерисовать индикатор, используя другие координаты, но это было бы сложно (подумайте о закругленных частях). Также я не могу наложить его белым цветом, так как он должен быть прозрачным из-за фонового изображения.

Есть ли у кого-нибудь идеи, как добиться того, чего я хочу? Или указать мне другое возможное решение?

С наилучшими пожеланиями, Джонас


person Jonas    schedule 31.08.2010    source источник


Ответы (1)


Я не знаю, понимаю ли я, что ты хочешь, но я бы попробовал это

  1. Разделите его на 3 столбца, указав путь в каждом столбце. В первом столбце указан путь к левому краю .. средний столбец будет иметь только верх / низ и будет растягиваться, правый столбец будет содержать правые кривые и т. Д.
  2. Создайте прямоугольник с таким же радиусом, как и ваши внутренние углы, и поместите его во 2-й столбец.
  3. визуализируйте прогресс, обновляя ширину прямоугольника.

Такой подход только восполнит ваш прогресс до «горлышка» бутылочного индикатора, который вы сделали.

person mdm20    schedule 31.08.2010