Как установить Z индекс при использовании WPF DrawingContext? - PullRequest
3 голосов
/ 04 марта 2011

Как установить Z-Index для рисованного объекта при использовании DrawingContext.DrawXXX() методов?

1 Ответ

4 голосов
/ 04 марта 2011

Объект, который был нарисован последним, будет иметь более высокий индекс Z. Вы не можете изменить индекс уже нарисованных объектов. Единственный способ - нарисовать в другом порядке.

Если вы используете WPF (как вы поместили этот тег), вы можете использовать, например, элемент управления Canvas. Тогда вы просто создаете нужные вам фигуры, такие как

Polyline obj = new Polyline(); //...
// ... set properties of obj

и добавьте их в Canvas UIElementCollection:

yourCanvasName.Children.Add(obj);
//or
yourCanvasName.Children.Insert(i, obj);

Первые предметы из этой коллекции будут иметь более высокий индекс Z. Вы также получите преимущества: нет необходимости перерисовывать изменения в окне, можно в любое время перемещать объекты и менять порядок.

...