我使用了一个列表框来显示几个日期。字符串包含日期后跟数字。此日期将作为项目写入列表框。我在日期之后放了白色空格。但它有对齐问题。无论如何我可以在日期之后设置标签吗?或者有没有办法为列表框设置列?
2011年9月1日星期一26
2011年10月16日星期四(更长...)30
我无法使用网格,因为这些项目是动态生成的,因此手数之前无法知道行数。
滚动条是否有任何可以以上述方式显示值的控件? WP7中没有名为ListView的控件吗?这里没有使用绑定,所以我不能使用DataTemplate !!帮助!
Alfah
答案 0 :(得分:2)
检查此question的答案可能会有所帮助,因为您所询问的内容可以通过这种方式完成。
<强>更新强>
在这种情况下,你必须使用c#代码,如下所示:
1-将日期添加到文本块:
TextBlock t = new TextBlock();
t.Text = _Date_;
t.Width = 100; // set width you want to make all date entires have the same width
2-将号码添加到另一个文本块:
TextBlock n = new TextBlock();
n.Text = _number_;
n.Width = 50; // set width you want to make all date entires have the same width
3-将它们添加到堆叠面板:
StackPanel st = new StackPanel();
st.Orientation = System.Windows.Controls.Orientation.Horizontal;
st.Children.Add(t);
st.Children.Add(n);
4-将堆栈添加到列表框中:
listBox1.Children.Add(st);
您必须为要添加的每个元素重复此操作。
答案 1 :(得分:2)
您可以将WrapPanel用作Silverlight Toolkit中的ItemsPanel,请检查以下内容:http://www.geekchamp.com/articles/wp7-wrappanel-in-depth和http://www.codeproject.com/Questions/507167/Windowsplusphoneplus7plusHowplustoplusshowplustwop
1)下载Silverlight for Windows Phone Toolkit
2)添加Referance:Microsoft.Phone.Controls.Toolkit
3)在手机中添加以下内容:PhoneApplicationPage源代码
的xmlns:工具箱= “CLR-名称空间:Microsoft.Phone.Controls;装配= Microsoft.Phone.Controls.Toolkit”
4)列表框控件示例:
<ListBox>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel ItemWidth="100" ItemHeight="50"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBoxItem Content="Item1"/>
<ListBoxItem Content="Item2"/>
<ListBoxItem Content="Item3"/>
<ListBoxItem Content="Item4"/>
<ListBoxItem Content="Item5"/>
<ListBoxItem Content="Item6"/>
</ListBox>
答案 2 :(得分:0)
我不确定我是否理解你的问题。 但我猜,使用水平方向的堆叠面板应该会有所帮助。 Expression Blend运气好吗?您可能会找到可以解决问题的控件。
答案 3 :(得分:0)
您可以为ListItem设置模板。如果它是一个有两列的网格,它可以解决你的问题
答案 4 :(得分:0)
使用网格。并且数据绑定它。说真的,没有理由愚弄任何其他解决方案。