2014-01-05 13 views
14

私は3列で構成されたWindows Phone/XAMLグリッドを持っています。特に、3番目の列が画面の右端に揃うようにします。グリッドの列を右に整える

<Grid Background="Transparent" Margin="0,3"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="Auto"/> 
     </Grid.ColumnDefinitions> 

    <Image Grid.Column="0" x:Name="Marker" Width="60" Height="60" VerticalAlignment="Center" Stretch="Uniform" HorizontalAlignment="Center"/> 
    <TextBlock Grid.Column="1" x:Name="Name" TextAlignment="Left" VerticalAlignment="Center" Margin="20,0" /> 
    <Image Grid.Column="2" x:Name="Selected" Width="48" Height="48" VerticalAlignment="Center" Stretch="Uniform" HorizontalAlignment="Center"/> 
</Grid> 

結果は、代わりに、このです:

enter image description here

それはこのようにする必要がありますとき:

enter image description here

+0

を削除した後に修正されましたか? –

+1

はい、それは動作しません:( – TheUnexpected

+0

グリッド内の他のアイテムを見ることができないので、このグリッドは 'ListBox'の' ItemTemplate'の一部ですか? –

答えて

18

リストボックスのItemTemplateに言及したとおり、できることはHorizontalContentAlignmentからStretchに設定されています。

<ListBox> 
     <ListBox.ItemContainerStyle> 
      <Style TargetType="ListBoxItem"> 
       <Setter Property="HorizontalContentAlignment" Value="Stretch"/> 
      </Style> 
     </ListBox.ItemContainerStyle> 
    </ListBox> 
2

これを試してみてください:

<Grid Background="Transparent" Margin="0,3"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
    <StackPanel Orientation="Horizontal"> 
     <Image x:Name="Selected" Width="48" Height="48" VerticalAlignment="Center" Stretch="Uniform" HorizontalAlignment="Center"/> 
     <TextBlock x:Name="Name" TextAlignment="Left" VerticalAlignment="Center" Margin="20,0" /> 
    </StackPanel> 
    <Image Grid.Column="1" x:Name="Selected" Width="48" Height="48" VerticalAlignment="Center" Stretch="Uniform" HorizontalAlignment="Right"/> 
</Grid> 
1

グリッドでHorizontalAlignment="Stretch"を試してください。

+0

ListBoxの代わりにListViewを使用すると、複数の列リストのライフエイリアが生まれるかもしれません。 – RudolfJan

0

私は同じ問題を抱えていたし、それはそこには、 `たHorizo​​ntalAlignment = "右"`ですStackPanelの

関連する問題