【问题标题】:Windows Phone 7 ListBox index operatorWindows Phone 7 ListBox 索引运算符
【发布时间】:2012-01-18 15:23:57
【问题描述】:

我正在尝试在 Windows Phone 7 的 Silverlight 中的 ListBox 中添加字符串。我希望字符串出现在固定宽度的列中,并且当在 listBox 中启动新行时,ListBox 可以滚动到视图中。此外,当用户单击一个按钮时,一个单词会一次添加到 listBox。我尝试使用 WrapPanel,但不允许滚动到视图中。现在我当前的解决方案将是有效的,但是索引运算符给了我一个索引越界错误,并且插入方法给了我出现在下一行的重复条目......

我正在尝试像这样使用 Insert 方法或索引运算符(显然不是两者):

this.wordListBox.Items.Insert(numRows, formatRow);
this.wordListBox.Items[numRows] = formatRow;

这是我的程序流程的一个想法,示例: 用户单击一个按钮,一个 Word 连接到当前为空的 formatRow,formatRow 被添加到当前为 0 的 numRows 处的 wordListBox。再次单击该按钮,另一个单词连接到 formatRow,并且 formatRow 被添加到 numRows 处的 wordListBox仍然是 0。因此,我现在将 wordListBox 的第一个元素设置为包含两个单词的字符串。重复此过程,直到将 5 个单词添加到 formatRow,然后 numRows 递增并将 formatRow 设置为 null。现在,单词将被添加到 wordListBox 的下一行,并且 wordListBox 将滚动到视图中,因为 ListBox 的每个元素都是一个字符串。

谁能指出我使用索引运算符的插入方法的错误,或者告诉我如何使这些函数为我的目的工作? 另外,如果有人需要更好的解释,我会尽力解释得更详细。

【问题讨论】:

    标签: silverlight windows-phone-7 insert listbox indexing


    【解决方案1】:

    我会说您可以尝试使用 ObservableCollection 来保存您的项目,然后将其绑定到您的 Listbox-es ItemsSource,但直接添加到 Items 集合也可以。并且要将焦点设置在某个项目上,请尝试 ListBoxItem 的 Focus 方法。

    MSDN ListBoxItem Class

    WROX、APRESS、MS 为 WP7 开发提供了一些很棒的书籍。

    MSDN Code Samples for WP7

    31 Days of Mango

    WROX WP7 books

    【讨论】:

    • 谢谢!我在哪里可以阅读有关所有这些控件和“绑定”的更多信息?我是移动开发和视觉工作室的新手。
    • @CodeKingPlusPlus 欢迎您,我用一些链接和书籍建议更新了我的答案。对于绑定/WPF/SilverLight,您也可以查找书籍和开发者博客。
    猜你喜欢
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    相关资源
    最近更新 更多