c# - 列表框 WP7 中的反向堆栈项目

标签 c# windows-phone-7 xaml listbox windows-phone-8

我目前正在研究一个列表框,该列表框显示用户最近浏览过的网站。它工作正常,但我需要列表显示堆栈反转,就像添加的最新列表应该在添加的旧项目之上。我尝试了不同的方法,但似乎没有用,

这是我添加项目的代码:

        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/

相关文章:

c# - 我可以在 Open XML SDK 生成的电子表格上设置自动宽度而不计算单独的宽度吗?

c# - 我应该使用 ORM 来为大型树结构建模吗?

c# - Entity Framework 获取单个项目真的很慢

windows-phone-7 - 用于 Windows Phone 7 的单点登录选项

wpf - 为什么只有 Silverlight for WP7 有合成线程?

c# - 使用 Frame.Navigate 和 typeof(UserControl)

c# - 如何设置 MahApps 窗口网格的样式?

c# - 如何通过Windows API设置.wav文件的位深度? (C#)

windows-phone-7 - 使用 MVVM 从列表框中获取选定项

c# - 是否存在在 XAML 中使用任意 C# 表达式的现有方法?