StackPanel忽略Horizo​​ntalAlignment问题XAML

时间:2014-12-06 11:40:36

标签: c# wpf xaml windows-phone-8 windows-phone-8.1

我有问题,我只是尝试使用消息进行聊天窗口(从右侧传入和从左侧传出)但看起来像stackpanel忽略Horizo​​ntalAlignment。这是我的代码

<ListView>
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <StackPanel HorizontalAlignment="Left">
                            <TextBlock TextWrapping="Wrap" 
                            FontSize="22"
                            Text="{Binding MessageTextIn}"              
                        />
                            <TextBlock
                            FontSize="10"
                            Text="{Binding MessageTimeIn}" Padding="10"
                        />
                        </StackPanel>
                        <StackPanel HorizontalAlignment="Right">
                            <TextBlock TextWrapping="Wrap"
                                FontSize="22"
                                Text="{Binding MessageTextOut}"
                            />
                            <TextBlock
                                FontSize="10"
                                Text="{Binding MessageTimeOut}" Padding="10"
                            />
                        </StackPanel>
                    </StackPanel>
                </DataTemplate>

            </ListView.ItemTemplate>
        </ListView>

好像我做错了什么但究竟是什么?

感谢您的帮助!

对不起,如果我问一些愚蠢的事。

1 个答案:

答案 0 :(得分:1)

这是因为您的ItemContainer只有一个正确的对齐方式(默认情况下)。 设置Listview的ItemContainerStyle:

<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="HorizontalAlignment" Value="Stretch" />
        </Style>
    </ListView.ItemContainerStyle>
</ListView>