2015-12-09 59 views
2

我有一個問題,在我的手機屏幕上設置適當的位置這個項目。首先,我嘗試綁定Canvas.Left和Canvas.Top,但是甚至將其設置爲Canvas.Left =「300」& Canvas.Top =「200」仍然設置在屏幕左上方的位置。如何在可觀察集合中設置Canvas.Left和Canvas.Top WPF - Windows phone 8.1

<ItemsControl Name="Canvas" 
        ItemsSource="{Binding SensorsCollection}" 
        HorizontalAlignment="Stretch" 
        VerticalAlignment="Stretch"> 
     <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <Canvas /> 
      </ItemsPanelTemplate> 
     </ItemsControl.ItemsPanel> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <Grid Canvas.Left="300" 
         Canvas.Top="200"> 
        <TextBlock Text="{Binding Name}" 
           FontSize="30"/> 

       </Grid> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 

任何想法?

回答

0

在數據模板中,也將Grid放置在Canvas中。

<DataTemplate> 
    <Canvas> 
     <Grid Canvas.Left="300" 
       Canvas.Top="200"> 
      <TextBlock Text="{Binding Name}" 
         FontSize="30"/> 

     </Grid> 
    </Canvas> 
</DataTemplate> 
+0

謝謝,它的工作原理。 – Criss

+0

這是一個可怕的解決方案。您將爲控件中的每個項目添加額外的畫布。他應該通過https://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.itemcontainerstyle%28v=vs.110%29.aspx?f=255&MSPPError設置容器上的綁定= -2147217396我會回答,但如果不同,我不能100%確定wp8等價物。 – Will

相關問題