Как сгруппировать объекты Path? - PullRequest
3 голосов
/ 02 марта 2011

Я создаю некоторое приложение карты в WPF, используя C #.Я использую Visual Blend 2 для рисования границ стран, поэтому в результате я получил объекты Path (написанные на XAML).Путь - это объект, где первая точка == последняя точка, поэтому путь всегда закрыт.В некоторых странах (например, в Японии) есть несколько островов, поэтому в результате в одной стране имеется более 1 пути.

Я пытаюсь добавить некоторые варианты поведения к этим объектам (страны - например, 1 или более путей), например, когдапользовательская мышь вводит некоторую страну (или свойство IsMouseOver 'true' - но это не имеет значения), страна меняет свой цвет фона.

Где какой-то путь страны == 1, проблем нет.Но что я могу сделать, если существует несколько путей к некоторым странам?

Поэтому мой вопрос: как группировать пути в одном объекте?

Я пыталсяиспользовать класс GeometryGroup, но я не могу использовать его правильно ...

У вас есть какие-нибудь идеи?

Ответы [ 2 ]

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

Ваш путь может иметь более одного 'M' без проблем, и он отлично работает с path.Fill.В конечном итоге это зависит от типа фигуры, которую вы рисуете.

Вот пример:

<Path Data="M10,10 h100 v100 h-100z M30,30 h50 v50 h-50z" 
     Stroke="Gray" 
     StrokeThickness="1" 
     Fill="Blue"/>

или Geometry.Parse("M10,10 h100 v100 h-100z M30,30 h50 v50 h-50z"), если вы используете код.

1 голос
/ 02 марта 2011

Создание простого класса C # для использования в качестве логической модели для страны.Тогда он может содержать переменную экземпляра List<Path> CountryBoundaries, для которой он будет управлять цветами фона.

Тогда вам нужно подключить события mouseover путей к правильной стране.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...