Windows phone - рисовать графику

1

Кажется, я не могу понять, как рисовать графику в приложении для телефона Windows на С#. Я хочу нарисовать, например, строку. В старых школьных формах Windows я добавляю обработчик событий в событие Paint Paint. Затем используйте графический объект GDI+. Но в каких-либо элементах управления нет события рисования?

Итак, как рисовать линию на холсте в приложении для телефона Windows?


Думаю, мне нужно уточнить. Я хочу создать динамическую графику, и я хочу использовать С#. Я хочу, чтобы частота обновления составляла 30 кадров в секунду, и мне нужно всего несколько графических элементов примерно 100.

  • 0
    Забудьте «старую школу», технологии на основе XAML имеют совершенно иную парадигму, чем архаичные формы. если вам нужна строка, просто сделайте <Line X1="0" Y1="0" X2="10" Y2="10" Stroke="Blue" StrokeThickness="2"/> или что-то еще.
Теги:
windows-phone-8

3 ответа

0

Если вы хотите получить низкий уровень доступа к 2D или 3D, как при использовании DirectX, вы можете взглянуть на SharpDX

Есть несколько примеров для Windows Phone в Github:

  • MiniCube: отображает вращающийся куб в DrawingSurfaceBackgroundGrid
  • 0
    Да конечно. Я просто надеялся, что простой рисунок на холсте wss в стандартных библиотеках C #.
0

Вы начинаете с добавления Canvas в форму и затем.Add() графических объектов к дочерним элементам холста - это делает объект масштабированным для вас движком, который является довольно аккуратным. Обычно выглядит так:

line = new **Line**();
line.Stroke = Brushes.Yellow;

line.X1 = 0;
line.Y1 = 0;
line.X2 = 100;
line.Y2 = 100;

line.StrokeThickness = 2;
yourCanvas.Children.**Add(line)**;

Просто снимите ** с кода - они предназначены для захвата внимания.

Фактически, когда я рисовал динамические гиперкубы, я никогда не использовал версию XAML, но если вам нужна статическая структура или даже субструктура, то XAML - это путь. Насколько я понимаю, Children.Add() динамически создает узел в анализируемом дереве XAML, который хранит в памяти.NET. Если вы не можете добиться небольшого повышения производительности для динамически позиционированной графики, которую накладывает WPF, вам нужно будет придерживаться DirectX или OpenGL для лучшей производительности.

  • 0
    -1 вы не используете .Add() в технологиях на основе XAML. Вот для чего XAML.
  • 0
    static structure - извините, вы понятия не имеете, о чем говорите. -1. Смотрите мой пример правильно спроектированного пользовательского интерфейса "динамические линии" в XAML. Нет процедурного кода. Это на самом деле ListBox . Кстати, поскольку я никогда не ходил в какие-либо школы, я понятия не имею, что такое «динамические гиперкубы», однако я знаю XAML и правильный способ его использования;)
Показать ещё 2 комментария
0

если вам нужна строка, используйте класс Line:

<Page xmlns="whatever">
   <Grid>
      <Line X1="0" Y1="0" X2="10" Y2="10" Stroke="Blue" StrokeThickness="2"/>
   </Grid>
</Page>

Кроме этого, обратитесь к MSDN.

Забудьте о любых процедурных парадигмах, которые вы могли бы узнать в архаичных технологиях. Современные технологии являются декларативными.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню