列表视图中行的参考点

时间:2014-04-07 03:56:49

标签: c# .net wpf xaml

我试图在画布上显示一些线条,这些线条在Y轴位置上有所不同,因此创建了一个itemscontrol并绑定到一个字典,该字典具有Y值和一些要在线显示的文本。

我的问题是,线条会根据单个项目的原点显示到(x1,y1)(x2,y2)点,但我希望每条线从画布原点获取Y轴距离。

<Canvas Margin="0,8,0,8" Height="374" Width="150"  >
<ItemsControl ItemsSource="{Binding Path=YPointsDictionary Margin="0">

<ItemsControl.ItemTemplate>
  <DataTemplate>
             <StackPanel Orientation="Horizontal">
          <Line  X1="0" Y1="{Binding Value}" X2="150" Y2="{Binding Value}" 
              StrokeThickness="2" Stroke="Yellow" StrokeDashArray="2,2"  />
         <Label Content="{Binding Key}" Foreground="Yellow" />                 
      </StackPanel>
    </DataTemplate>
    </ItemsControl.ItemTemplate>
   </ItemsControl>
  </Canvas>

2 个答案:

答案 0 :(得分:0)

使stackPanel Orientation垂直给出结果。这是你想要的吗?

例如:

  <StackPanel Orientation="Vertical"  >
        <Line X1="0" Y1="50" X2="150" Y2="50" Stroke="red" StrokeThickness="5"></Line>
        <Line X1="0" Y1="100" X2="150" Y2="100" Stroke="Blue" StrokeThickness="5"></Line>
        <Line X1="0" Y1="150" X2="150" Y2="150" Stroke="green" StrokeThickness="5"></Line>
    </StackPanel>

答案 1 :(得分:0)

我在这里找到了答案。我需要将画布左侧和顶部绑定为每个项目的X和Y原点。 How to bind a canvas to a list of rectangles