数学函数-图纸问题

时间:2019-04-22 18:31:49

标签: c# wpf mvvm

我需要开发一个功能绘图仪,用户可以在其中输入多达10个不同的多项式或三角函数。每个功能由一条折线表示,并绘制在画布上。所有功能都存储在可观察的功能集合中。但是,如果我继续添加越来越多的功能,它们将不会显示在正确的位置。在下面的图片中,我试图一遍又一遍地添加相同的功能,但它始终将它们放在彼此的底部。

enter image description here

enter image description here

要绘制功能,请使用以下代码:

<ItemsControl ItemsSource="{Binding Functions}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Polyline Points="{Binding Output, Converter={StaticResource pointConverter}}" StrokeThickness="{Binding StrokeThickness}" Stroke="Black"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

1 个答案:

答案 0 :(得分:0)

items控件的默认项目面板是一个堆栈面板。

您似乎没有改变。

尝试将以下内容添加到您的项控件中。

  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
         <Canvas        ClipToBounds="True"
                        IsItemsHost="True" 
                        />
     </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>