我目前正在研究一个列表框,该列表框显示用户最近浏览过的网站。它工作正常,但我需要列表显示堆栈反转,就像添加的最新列表应该在添加的旧项目之上。我尝试了不同的方法,但似乎没有用,
这是我添加项目的代码:
list obj1 = new list();
obj1.name = (string)webTab1.InvokeScript("eval", "document.title.toString()");
obj1.phone = menuURL.Text;
listBox1.Items.Add(obj1);
这段代码会一个接一个地添加项目,这是不合适的
非常感谢
最佳答案
这是您所要求的 WPF 版本,但它的代码对于 Windows Phone 应该是相同的。在此示例中,您将看到列表框绑定(bind)到已加载的集合。然后,当您单击反转按钮时,集合中的项目将反转。
<Grid>
<Button Click="Button_Click" Content="Click to reverse" Width="100" Height="100" Margin="298,106,105,105"></Button>
<ListBox Name="lb1" HorizontalAlignment="Left" ItemsSource="{Binding urls}" Width="255">
</ListBox>
</Grid>
public partial class MainWindow : Window
{
public ObservableCollection<String> urls { get; set; }
public MainWindow()
{
InitializeComponent();
urls = new ObservableCollection<string>();
this.DataContext = this;
loadURLsFirstTime();
}
public void loadURLsFirstTime()
{
urls.Add("www.First.com");
urls.Add("www.Second.com");
urls.Add("www.Third.com");
urls.Add("www.Fourth.com");
}
public void reverseUrls()
{
Stack<String> stack1 = new Stack<string>();
foreach (String item in urls)
{
stack1.Push(item);
}
urls.Clear();
foreach (String item in stack1)
{
urls.Add(item);
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
reverseUrls();
}
}
关于c# - 列表框 WP7 中的反向堆栈项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16297180/