【问题标题】:Issue with ListPicker "SelectionMode = Multiple"ListPicker“SelectionMode = Multiple”的问题
【发布时间】:2011-12-04 20:56:04
【问题描述】:

我已经使用“Sys:String”、“ViewModel”和 ListPickerItem”定义了 ListPicker 的项目,但在所有三种情况下,我都无法使用 ListPicker 中选择的多个项目。

XAML 代码:

<toolkit:ListPicker x:Name="ListPicker1" Margin="0" Header="listpicker1" Width="422" SelectionMode="Multiple" FullModeHeader="Top Stories" SelectionChanged="ListPicker1_SelectionChanged">
                            <sys:String>abc</sys:String>
                            <sys:String>def</sys:String>
                            <sys:String>ghi</sys:String>
                            <sys:String>jkl</sys:String>
                        </toolkit:ListPicker>

C#代码

private void ListPicker1_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            foreach (ListPicker item in ListPicker1.Items)
            {
                if (item.ToString() == "abc")
                {
                    MessageBox.Show(item.ToString());
                }
            }
        }

我希望列表选择器的选定项目为字符串。

我还面临另一个问题,即在页面加载时发生 listpicker selectiochanged 事件。

【问题讨论】:

  • 我认为我们面临同样的问题,但我的问题有点不同。我看到了您在该问题上给出的解决方案,但这仅在我使用列表框时适用。但我在这里使用 listpicker 并且不起作用。其次,我的 listpicker_SelectionChanged 事件就像在 page_loaded 事件中一样运行。有什么解决办法吗??

标签: c# silverlight-toolkit windows-phone-7.1


【解决方案1】:

您应该使用SelectedItems 属性来获取列表中的选定项目:

    private void ListPicker1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        foreach (ListPicker item in ListPicker1.SelectedItems)
        {
             MessageBox.Show(item.ToString());
        }
    }

另外,看看SelectionChangedEventArgs 类,它包含在当前选择事件中被选择或取消选择的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 2014-08-13
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    相关资源
    最近更新 更多