Phone 8 XAML:LongListSelector中的水平对齐

Chr*_*raf 2 xaml alignment longlistselector windows-phone-8

我有一个很长的列表选择器.

我想要做的就是在ItemTemplate中对齐两个元素:1.右边的按钮,给定的固定宽度2.左边的文本面板,填充显示的剩余空间.但不幸的是,文本面板没有拉伸,按钮与文本面板文本的右端对齐.:(

这是我的代码:

<DataTemplate x:Key="AddrBookItemTemplate">
  <StackPanel Orientation="Horizontal" Name="DummerContainer" HorizontalAlignment="Stretch">
    <TextBlock FontWeight="Bold" Text="{Binding Name}" HorizontalAlignment="Stretch"/>
    <Button HorizontalAlignment="Right" Width="120"/>
  </StackPanel>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

<phone:LongListSelector
      HorizontalAlignment="Stretch"
      x:Name="AddrBook"
      JumpListStyle="{StaticResource AddrBookJumpListStyle}"
      Background="Transparent"
      GroupHeaderTemplate="{StaticResource AddrBookGroupHeaderTemplate}"
      ItemTemplate="{StaticResource AddrBookItemTemplate}"
      LayoutMode="List"
      IsGroupingEnabled="true"
      HideEmptyGroups ="true"/>
Run Code Online (Sandbox Code Playgroud)

所以,这是我的问题:如何正确对齐这两个元素?

Pau*_*tts 7

这是使用横向的结果StackPanel......

在DataTemplate中使用Grid而不是a StackPanel.然后,您可以根据ColumnDefinitions需要定义分配空间,即:

  • 将列0定义为Width="*"并将其放入TextBlock其中
  • 将第1列定义为Width="Auto"放入Button其中.