WPF TranslateTransform - ScaleTransforming

В следующем фрагменте кода представлен объект класса Part, который унаследован от класса ScatterViewItem (Microsoft.Surface.Presentation.Controls). part.Content - это геометрия пути:

GeometryGroup gGroup = new GeometryGroup
{
    FillRule = FillRule.Nonzero
};
foreach(KeyValuePair<int, Part> kv in Layers)
{
    geom = part.ShadowPath.RenderedGeometry.Clone();
    geom.Transform = new TranslateTransform(0, 0);
    gGroup.Children.Add(geom);
}

Когда я комментирую geom.Transform = new TranslateTransform(0, 0); линия показывает правильную шкалу, но когда я раскомментирую ее, хотя я ничего не меняю, она масштабирует пути:

Я хочу знать, как это исправить.

1 ответ

Решение

@Clemens был прав насчет начальных значений преобразования: было матричное преобразование с автоматически рассчитанными значениями по WPF. Когда я назначил новые значения преобразования, он полностью удалил старые значения. Я просто выбрал эту матрицу и обновил некоторые значения, и она работала нормально

Другие вопросы по тегам