2013-03-04 34 views
2

我有一個長列表選擇器。Phone 8 XAML:LongListSelector中的水平對齊

所有我想要做的是對準的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> 

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

所以,這是我的問題:我如何才能正確對齊兩個元素

回答

7

這就是一個結果呢?使用橫向StackPanel ...

使用a Grid而不是DataTemplate中的StackPanel。然後,你可以定義ColumnDefinitions分配的空間根據您的需要,即:

  • 定義列0爲Width="*",把你的TextBlock
  • 定義列1爲Width="Auto"把你Button它。
+0

謝謝Paul。它幫助了我。 – 2013-07-27 06:01:49