Xaml,如何以不同的协调方式在图像上绑定按钮列表

Xaml,如何以不同的协调方式在图像上绑定按钮列表,xaml,data-binding,coordinates,winrt-xaml,Xaml,Data Binding,Coordinates,Winrt Xaml,对于windows 8应用程序,我需要在图像上放置按钮列表。每个按钮都具有CoordinateX和CoordinateY属性。我使用gridView绑定到按钮列表。 我需要得到如下结果: 这是我的密码: <Grid HorizontalAlignment="Left" VerticalAlignment="Top" > <Canvas> <Image Source="ms-appx:///Assets/red.png" Stretc

对于windows 8应用程序,我需要在图像上放置按钮列表。每个按钮都具有CoordinateX和CoordinateY属性。我使用gridView绑定到按钮列表。 我需要得到如下结果:

这是我的密码:

<Grid HorizontalAlignment="Left" VerticalAlignment="Top" >
     <Canvas>  
         <Image Source="ms-appx:///Assets/red.png" Stretch="None"  ></Image>

          <GridView ItemsSource="{Binding Buttons}" 
                    SelectionMode="None" IsSwipeEnabled="false"  IsItemClickEnabled="True" ItemClick="Button" Padding="0">                            
          <GridView.ItemTemplate>
                <DataTemplate>
                    <Button Width="194" Height="51" Background="Gray" Canvas.Left="{Binding CoordinateX}" Canvas.Top="{Binding CoordinateY}"></Button>                    
                </DataTemplate>
          </GridView.ItemTemplate>
          </GridView>                      
     </Canvas>
</Grid>

但这是我运行应用程序后得到的结果:


可能在运行时,在为GridView中的项目设置X和Y坐标之前,GridView本身已应用其属性。 自从 1) GridView旨在用于组织控制 及 2) 您尚未强制栅格填充视图空间

剩下的是一个GridView,如果样式试图强制items集合位于控件的边界之外,它将按照自己的意愿进行操作,并限制其项符合您的样式的能力

您可以尝试设置GridView的“水平对齐”属性,但即使它碰巧可以工作,也最好使用组织较少的内容控件,如更基本的ItemsPresenter

哪一个控制你最终使用。。。确保检查/设置水平面内容对齐和VerticalContentAlignment属性(如果存在)