windows-phone-7 - 如何在wp7中使用列表选择器selectionChanged事件

标签 windows-phone-7 windows-phone-7.1 listpicker

我是 Wp7 新手,使用 ListPicker 开发应用程序并使用 SelectionChanged 事件从 listPicker 获取所选数据,但遇到 SelectionChanged 问题> 事件当我使用这个并获取 NullReferenceException 但当我在 button_Click 中使用相同的代码时,它完美地工作并获取所选文本

我的 C# 代码是:

 private void listPicker1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        ListPickerItem lpi = (ListPickerItem)listPicker1.SelectedItem;//this code is working in click event
        MessageBox.Show(lpi.Content.ToString());
    }

我的Xaml代码是

<toolkit:ListPicker x:Name="listPicker1" Grid.Row="0" ExpansionMode="ExpansionAllowed" SelectionChanged="listPickerCountryLogin_SelectionChanged" HorizontalAlignment="Left" Margin="14,43,0,0" VerticalAlignment="Top" Width="436" FullModeHeader="Select Country" Background="White" BorderBrush="White">
            <toolkit:ListPicker.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Country}" Width="250" />
                    </StackPanel>
                </DataTemplate>
            </toolkit:ListPicker.ItemTemplate>
            <toolkit:ListPicker.FullModeItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Country}" Width="300" Margin="0,0,0,20" FontSize="44"/>
                    </StackPanel>
                </DataTemplate>
            </toolkit:ListPicker.FullModeItemTemplate>
        </toolkit:ListPicker>

但我想获取文本表单 SelectionChanged 事件?

如何实现这一目标:)

提前致谢

最佳答案

我也遇到了同样的问题,我也遇到了NullReferenceException

试试这个对我来说效果很好

1) 如果您使用静态 ListPickerItems 意味着没有 DataBinding 使用此

private void listPicker1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    ListPickerItem lpi = (sender as ListPicker).SelectedItem as ListPickerItem;
    MessageBox.Show("selected item is : " + lpi.Content);
}

2) 如果您使用 DataBinding 来显示 listPickerItems ,请尝试此操作

 private void listPicker1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
     Countries item = (sender as ListPicker).SelectedItem as Countries;
     MessageBox.Show("Selected Item is : " + item.Country);
}

这里假设您准备了一个具有 country 属性的类 Countries ,您需要将所选项目键入到 Countrys 类,然后只有您才能得到结果

关于windows-phone-7 - 如何在wp7中使用列表选择器selectionChanged事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14577520/

相关文章:

c# - WP7(1) : System. 未找到 Windows.debug.resources?

xaml - 绑定(bind) ListPicker.SelectedIndex 问题

c# - WP7 从 BeginGetResponse 回调中传播异常

windows-phone-7 - 带提示文本的密码框

windows-phone-7 - WP7 控件 : When to set VisualState after recovering from Tombstone?

C# InvokeScript 给出错误 80020006

windows-phone-7 - 我们如何将背景图像添加到列表选择器 wp7 中的 FullModeItemTemplate

c# - 覆盖默认电话资源时出现 NotImplementedException

c# - Texture2D.GetData<Color> 始终返回黑色