Я пытаюсь нарисовать многоугольник на холсте, используя предоставленные пользователем значения. Рендеринг в порядке, учитывая значения по умолчанию в .xaml. Моя проблема возникает при попытке установить значение свойства Polygon Points из файла .cpp. Я новичок в UWP и подумал, что могу просто установить Points равным PointCollection, но, похоже, это не работает. Любая помощь будет отличной
Где Canvas и Polygon создаются в .xaml
<Canvas x:Name = "tCan" Margin = "396,48,88,146">
<Polygon x:Name = "triangle" Stroke = "Black"/>
</Canvas>
Передача PointCollection в «Многоугольный треугольник» в .cpp
By = 100 + a;
Cy = ((a * a) + (c * c) - (b * b)) / (2 * a);
Cx = sqrt((c * c - (Cy * Cy)));
PointCollection points;
points.Append(Point(100, 100));
points.Append(Point(100, By));
points.Append(Point(Cx, Cy));
triangle->Points = points;
эта последняя строка бросает
"Windows::UI::Xaml::Shapes::Polygon::Points::set" cannot be called with the given argument list
argument types are: (Windows::UI::Xaml::Media::PointCollection)
object type is: Windows::UI::Xaml::Shapes::Polygon ^





Ошибка означает, что типы треугольник->Точки и точки не соответствуют, поэтому вам следует преобразовать тип точки:
By = 100 + a;
Cy = ((a * a) + (c * c) - (b * b)) / (2 * a);
Cx = sqrt((c * c - (Cy * Cy)));
PointCollection^ points = ref new PointCollection();
points->Append(Point(100, 100));
points->Append(Point(100, By));
points->Append(Point(Cx, Cy));
triangle->Points = points;