2013-09-02 7 views
1

Я разрабатываю приложение для Windows Store, ориентированное как на планшет, так и на ПК.Возвращаемое относительное положение на холсте

В моем приложении я добавляю объекты к холсту с помощью кода, используя SetLeft и SetTop. Однако этот метод не возвращает относительное положение для разных разрешений, а объекты попадают в неправильные позиции.

Кроме того, попытка вернуть ширину холста возвращает мне NaN. Если бы я мог это получить, я мог бы найти относительную позицию.

Есть ли способ конвертировать точку в относительную точку?

+0

Можете ли вы добавить какой-нибудь урезанный код, который демонстрирует проблему? – rene

+0

У меня есть холст, и на этом холсте я позволяю пользователю рисовать пальцем. Их обозначенный путь выровнен с кучей звезд для сбора. Звезды добавляются с помощью Звездная звезда = новая звезда (новая точка (212, 707)) - (Выполняется через XML позже) Это добавлено к холсту, и его в нужном месте для Поверхность RT. Однако на ПК с другим разрешением звезды появляются не в том месте. Возможно ли использовать процент холста? Или есть относительная точка, которую я могу использовать. Cheers, Chris –

ответ

0

Кроме того, попытка вернуть ширину холста возвращает мне NaN. Если бы я мог это получить, я мог бы найти относительную позицию.

Вы должны быть в состоянии использовать Canvas.ActualWidth и Canvas.ActualHeight, чтобы получить фактическую ширину и высоту во время выполнения.

+0

Спасибо, что сделал. Я пробовал ActualWidth и ActualHeight раньше, но это только возвращалось 0. Но чтение «По умолчанию 0. По умолчанию может быть встречено, если объект не был загружен и прошел переход макета». очищает его. –

+0

@ChrisCook Да - ActualWidth устанавливается после макета - поэтому, когда контейнер фактически отображает объект, он устанавливается для вас. –

Смежные вопросы