Xaml 水平拉伸ItemsControl中的内容

Xaml 水平拉伸ItemsControl中的内容,xaml,windows-phone-8,Xaml,Windows Phone 8,我有一个itemscontrol,但是,这些项目正在向左对齐,我不知道如何水平拉伸它们 这是我的XAML: <ItemsControl x:Name="ItemsSnaps" ItemsSource="{Binding}" HorizontalContentAlignment="Stretch"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Sta

我有一个itemscontrol,但是,这些项目正在向左对齐,我不知道如何水平拉伸它们

这是我的XAML:

    <ItemsControl x:Name="ItemsSnaps" ItemsSource="{Binding}" HorizontalContentAlignment="Stretch">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Vertical" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">

            </StackPanel>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Button x:Name="ButtonSnap" HorizontalAlignment="Stretch" Style="{StaticResource EmptyItemSourceAction}" Tag="{Binding}" 
                    toolkit:TiltEffect.IsTiltEnabled="{Binding Converter={StaticResource IValueCheckIfSnapWasRecieved}}"
                    Click="ButtonSnap_Click" 
                    ManipulationCompleted="ButtonSnap_ManipulationCompleted" 
                    ManipulationStarted="ButtonSnap_ManipulationStarted">
                <Grid Tag="{Binding}" Height="80">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="80" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="60" />
                    </Grid.ColumnDefinitions>

                    <Image Grid.Column="0" Source="{Binding Converter={StaticResource IValueIconFromSnapMediaType}}" Margin="10" Stretch="UniformToFill" />

                    <StackPanel Grid.Column="1" VerticalAlignment="Center">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Foreground="#FF616161" Text="{Binding FallbackValue=alexerax, Converter={StaticResource IValueActiveUserFromSnap}}" FontSize="18.667"></TextBlock>

                            <TextBlock Foreground="#FF616161" FontSize="18.667" Text="-" Margin="5,0,5,0" />

                            <TextBlock Foreground="#FF616161" FontSize="18.667" TextTrimming="WordEllipsis" Text="{Binding Path=Timestamp, FallbackValue=18/08/94 - 14:34, Converter={StaticResource IValueFriendlyTimeFromSnapChatTimestamp}}" />
                        </StackPanel>
                        <TextBlock FontSize="13.333" Text="{Binding FallbackValue=Pending..., Converter={StaticResource IValueFriendlySnapStatus}}">
                            <TextBlock.Foreground>
                                <SolidColorBrush Color="{StaticResource FapAccent}"/>
                            </TextBlock.Foreground>
                        </TextBlock>
                        <ProgressBar Width="150" Visibility="{Binding Converter={StaticResource IValueCheckIfSnapIsDownloading}}" HorizontalAlignment="Stretch" IsIndeterminate="True"></ProgressBar>
                    </StackPanel>

                    <ContentControl VerticalAlignment="Center" Grid.Column="2">
                        <TextBlock Text="10" >
                            <TextBlock.Foreground>
                                <SolidColorBrush Color="{StaticResource FapAccent}"/>
                            </TextBlock.Foreground>
                        </TextBlock>
                    </ContentControl>
                </Grid>
            </Button>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

您不能使用基于%tage的grid.columns对齐它们吗?第2列中的10s为硬Ypx宽度,其余为1*px的第1列

例如:



因此,问题在于我的空按钮样式将
水平对齐设置为
。VS的大小使部分代码从屏幕上消失,所以我看了看它。

问题在于按钮,如果我删除它,则项目会完美地包装起来。(但是我丢失了我需要处理的按钮事件)那么,是封闭空间没有扩展到整个宽度,而不是内容?可能是一个解决方案,只需使用一个封闭的网格/堆叠面板(可适当缩放)并处理点击/点击?我想我将不得不这样做。该死的物品控件你能展示你的
EmptyItemSourceAction
风格吗?当然,
 <Grid Height="50">

      <Grid.ColumnDefinitions>
           <ColumnDefinition Width="*"/> <!-- scale to fit rest -->
           <ColumnDefinition Width="50"/>
      </Grid.ColumnDefinitions>

      <StackPanel Orientation="Vertical" Grid.Column="1">
      <!-- main stuff-->
      </StackPanel>

      <StackPanel Orientation="Vertical" Grid.Column="2">
      <!-- right orientated text [10s] -->
      </StackPanel>

  </Grid>