Получить преобразованные значения UiElement в приложении WPF, используя .net 3.5 - PullRequest
0 голосов
/ 28 февраля 2012

Как я могу получить преобразованные значения UIElement, не добавляя его в визуальное дерево в .net 3.5 в WPF?

Достижение: UIElement (холст) содержит матрицу преобразования и несколько путей (фигур) в качестве содержимого. Как я могу получить преобразованные пути (преобразования матрицы, такие как масштаб, вращение, ... уже рассчитано)?

Предположим, у нас следующий путь

  <Path Stroke="Black" StrokeThickness="3.0">
    <Path.Data>
      <PathGeometry>
        <PathFigure StartPoint="355,-110">
          <LineSegment Point="0,-110" />
        </PathFigure>
        <PathFigure StartPoint="310,-125">
          <LineSegment Point="355,-110" />
          <LineSegment Point="310,-95" />
        </PathFigure>
      </PathGeometry>
    </Path.Data>
  </Path>

... как мы можем получить преобразованный результат, прикрепленный к холсту, например если путь масштабируется на значение 2 по осям x и y?

Ожидаемый результат для примера:

  <Path Stroke="Black" StrokeThickness="3.0">
    <Path.Data>
      <PathGeometry>
        <PathFigure StartPoint="700,-220">
          <LineSegment Point="0,-220" />
        </PathFigure>
        <PathFigure StartPoint="620,-250">
          <LineSegment Point="710,-220" />
          <LineSegment Point="620,-190" />
        </PathFigure>
      </PathGeometry>
    </Path.Data>
  </Path>

Я хочу пройти через сгенерированную строку XML после преобразования, чтобы использовать ее в коде, отличном от wpf. Как я могу получить преобразованные пути? Все методы, которые я пробовал (GetChild и т. Д.), Доставляли исходные пути без преобразования.

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