在silverlight中创建一个简单的列表框

时间:2014-01-02 11:41:49

标签: silverlight windows-phone-7 textbox listbox scrollviewer

我已经研究了很长一段时间,我找不到明确指导我如何在silverlight中做一个简单列表框的教程。我只想向上和向下滚动一个数据列表(让我们说一下城市的名称,现在让我们说明确地初始化了)。我尝试在其中使用文本框对一个列表框进行十进制复用,这似乎无法工作,因为文本框之间的间距很大。我怎么去解决这个问题?

2 个答案:

答案 0 :(得分:2)

在xaml页面中创建一个列表框

 <ListBox Margin="0,0,0,0" Height="550" Foreground="White" Name="lbSearchList">

                            <ListBox.ItemTemplate>
                        <DataTemplate>
                                    <Border BorderThickness="2" Margin="10,0,10,10" Width="460" BorderBrush="#FF404040">
    <TextBlock  FontSize="22" Foreground="Black" TextTrimming="WordEllipsis" Text="{Binding ClientName}"/>
                                    </Border>
                                </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

制作像这样的客户类

public class Client
{
public string ClientName{get;set;}
}

现在位于listbox所在页面的代码中

制作全局变量

List<Client> listClient=new List<Client>();

并在页面构造函数中

listClient.Add(new Client {ClientName="A"});
listClient.Add(new Client {ClientName="B"});
listClient.Add(new Client {ClientName="C"});
lbSearchList.ItemsSource = listClient;

我希望它有效

答案 1 :(得分:1)

使用ListBox的最基本方法:

<ListBox Margin="0,0,0,0" Name="lstCountries" >
    <ListBox.Items>
        <ListBoxItem Content="Brazil"/>
        <ListBoxItem Content="China"/>
        <ListBoxItem Content="India"/>
        <ListBoxItem Content="Switzerland"/>
        <ListBoxItem Content="Austria"/>
    </ListBox.Items>
</ListBox>

从代码中向ListBox添加项目:

lstCountries.Items.Add("Indonesia");
lstCountries.Items.Add("Thailand");
lstCountries.Items.Add("Australia");

进一步的技术将需要定义ItemTemplate(正如您在@Aman的答案中所见),使用DataBinding等。教程可在许多网站/博客上在线获得。