xaml - 电话 8 XAML : Horizontal Alignment in LongListSelector

标签 xaml windows-phone-8 alignment longlistselector

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

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

这是我的代码:

<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>

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

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

最佳答案

这是使用水平 StackPanel 的结果......

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

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

关于xaml - 电话 8 XAML : Horizontal Alignment in LongListSelector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15206221/

相关文章:

.net - 有没有办法在 XAML 中的绑定(bind)中使用变量值和条件?

html - 如何在另一个 div 中对齐 3 个 div(左/中/右)?

css - 如何将两个 div 水平和垂直居中放置在另一个 div 中?

c# - WPF 绑定(bind)到工具提示

c# - 如何创建类似于 SO 搜索框的文本框提示

c# - 如何向 Azure 移动服务调用添加自己的 header ?

c# - Windows Phone 8 在应用程序关闭时显示 MessageBox(停用)

c# - 压缩图像大小或减小捕获图像的尺寸

css - 如果多行链接不对齐

c# - 在我的 WPF 应用程序中过度使用代码隐藏?