2012-01-10 125 views
-2

我需要浮动列表框中的项目,使它们看起来像两个线...我怎么能?我试过,但他们不断地出现一个又一个...我的xml:在列表框中浮动的项目

<ListBox Name="listacomico" Width="480" Margin="0,112,0,0"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <Button Background="White" BorderBrush="#346699" Click="apri_comico" Name="{Binding Myordine}" Margin="0,0,0,0" Padding="0" HorizontalAlignment="Left" HorizontalContentAlignment="Left"> 
        <Button.Content> 
         <StackPanel Orientation="Horizontal" Width="125"> 
          <Image Source="{Binding Myimmagine}" HorizontalAlignment="Left" VerticalAlignment="Top" /> 
         </StackPanel> 
        </Button.Content> 
       </Button> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
+0

你根本没有任何意义。 – 2012-01-10 12:28:37

+0

有人可以帮助我吗?是可以做出每行两个项目? – Zak 2012-01-10 14:13:12

+0

为了清晰起见,你能编辑这个问题吗?我尝试过多次阅读,仍然无法弄清楚你在问什么。 – 2012-01-10 14:17:02

回答

2

如果你想显示的项目彼此相邻,你将不得不使用一个WrapPanel,因为它已经在被提出上面的评论。

这不是与ItemTemplate相关的行为。 ItemTemplate将定义项目的外观。

达到你想要做什么,你必须定义ItemsPanel这样的:

<ListBox ItemsSource="{Binding CollectionSource}"> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <toolkit:WrapPanel /> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
</ListBox> 

工具包:意味着我有一个名为工具包的命名空间,我的XAML的顶部:

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" 

如果您的项目尚未完成,您必须添加对Silverlight Toolkit for WP7的引用!

+0

非常感谢!有用! 我已经使用了工具包,因为我使用了过渡效果。 现在,我在这里...我可以问你一些事情吗?我需要通过xaml.cs来替换图像的来源,我在xaml中有这个:,并在.cs:faccia.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri(”/ Myapp; component/comici /“+ url_img.Value));但它不显示任何东西! – Zak 2012-01-11 12:43:14

+0

你确定Uri是正确的吗?您可以在ImageFailed事件上添加事件处理程序,以确保: 但是,是否有充分的理由从代码隐藏加载图像?你不能使用绑定? – 2012-01-11 19:34:50