Я хотел бы «нарисовать» несколько Polyline
и несколько Textblock
или Label
в Viewbox
в WPF.
Поскольку Viewbox
допускает только одного ребенка, я попытался поместить Polyline
внутри элемента Canvas
, но это не сработало:
XAML:
<Viewbox Stretch="Uniform">
<Canvas Margin="10">
<Polyline
Points="{Binding Path=Points2}"
Stroke="Green"
StrokeThickness="2" >
</Polyline>
<!-- other Polylines, Textblocks etc. would go here... -->
</Canvas>
</Viewbox>
Polyline
отображается правильно, когда я использую этот код (т.е. я просто отбросил Canvas
):
<Viewbox Stretch="Uniform">
<Polyline
Points="{Binding Path=Points2}"
Stroke="Green"
StrokeThickness="2" >
</Polyline>
</Viewbox>
Я хочу визуализировать некоторые геометрические свойства, например, в очень минималистичной компьютерной геометрической программе, такой как geogebra. При желании некоторые точки должны быть подвижными в следующей версии, но это не обязательно.
Решение:
<Viewbox Stretch="Uniform">
<Grid>
<Polyline
Points="{Binding Path=Points2}"
Stroke="Green"
StrokeThickness="4" >
</Polyline>
<Polyline
Points="{Binding Path=Points2}"
Stroke="Yellow"
StrokeThickness="2" >
</Polyline>
</Grid>
</Viewbox>
Это помещает одинаковые полигоны друг на друга, то есть тонкую желтую полилинию поверх широкой зеленой полилинии.
Мне помог ответ на этот вопрос stackoverflow.