2014-12-06 27 views
0

我有问题,我只是尝试使消息的聊天窗口(从右传入和从左传出),但似乎像stackpanel忽略Horizo​​ntalAlignment。这里是我的代码StackPanel忽略Horizo​​ntalAlignment问题XAML

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

看起来像我做错了什么,但究竟是什么?

感谢您的帮助!

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

+0

你设置了'ListView'的ItemsSource吗? – 2014-12-06 11:45:29

+0

@DzumoPro _stackpanel是什么意思忽略Horizo​​ntalAlignment_?一个'StackPanel'与'ListView'左边对齐,右边第二个 – dkozl 2014-12-06 11:58:08

+0

您可以分享您的预期输出的任何图像吗?似乎代码是正确的。 – Jawahar 2014-12-06 11:58:46

回答

1

这是因为你的ItemContainer只有一个右对齐(默认)。 设置ListView的ItemContainerStyle:

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