sel*_*vam 1 selectionchanged listpicker windows-phone-8
我在windows手机中使用此代码创建listpicker.
<StackPanel Height="148" Margin="0,100,0,0">
<toolkit:ListPicker Grid.Row="0" FontFamily="Segoe WP Semibold" Height="176" x:Name="Additional_Time" ItemTemplate="{StaticResource PickerItemTemplate}" FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}" FullModeHeader="Cities" SelectedIndex="0" CacheMode="BitmapCache" Header="Choose Exit Time" FontSize="30" SelectionChanged="Additional_Time_SelectionChanged"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
并使用此网格资源
<Grid.Resources>
<DataTemplate x:Name="PickerItemTemplate">
<StackPanel Orientation="Horizontal">
<Border Background="LightGreen" Width="34" Height="34">
<TextBlock Text="{Binding Country}" FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<TextBlock Text="{Binding Name}" Margin="12 0 0 0"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Name="PickerFullModeItemTemplate">
<StackPanel Orientation="Horizontal" Margin="16 21 0 20">
<TextBlock Text="{Binding Name}" Margin="16 0 0 0" FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}"/>
<TextBlock Text="{Binding Language}" Foreground="Green"/>
</StackPanel>
</DataTemplate>
</Grid.Resources>
Run Code Online (Sandbox Code Playgroud)
下面的代码用于将项目插入到listpicker中
List<Cities> source = new List<Cities>();
//List<Items> source = new List<Items>();
source.Add(new Cities() { Name = " 00 : 30 " });
source.Add(new Cities() { Name = " 01 : 00 " });
source.Add(new Cities() { Name = " 01 : 30 " });
source.Add(new Cities() { Name = " 02 : 00 " });
source.Add(new Cities() { Name = " 02 : 30 " });
source.Add(new Cities() { Name = " 03 : 00 " });
source.Add(new Cities() { Name = " 03 : 30 " });
source.Add(new Cities() { Name = " 04 : 00 " });
source.Add(new Cities() { Name = " 04 : 30 " });
source.Add(new Cities() { Name = " 05 : 00 " });
source.Add(new Cities() { Name = " 05 : 30 " });
source.Add(new Cities() { Name = " 06 : 00 " });
source.Add(new Cities() { Name = " 06 : 30 " });
source.Add(new Cities() { Name = " 07 : 00 " });
this.Additional_Time.ItemsSource = source;
Run Code Online (Sandbox Code Playgroud)
我的问题是如何从此listpicker中获取所选项目.
我尝试了不同的代码来获取该listpicker中的选定项,它抛出null值异常或无效的强制转换异常.
private void Additional_Time_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selectedItem = (sender as ListPicker).SelectedItem;
int selindex = Additional_Time.SelectedIndex;// lp.SelectedIndex; //just for testing
MessageBox.Show(selindex.ToString()); //just for testing
MessageBox.Show((Additional_Time.SelectedItem as ListPicker).ToString());
}
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个问题.
提前致谢.
在您的代码中,在最后一行中,您尝试将所选项目强制转换为ListPicker类型,但它应该是以下类型Cities:
MessageBox.Show((Additional_Time.SelectedItem as Cities).Name.ToString());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4541 次 |
| 最近记录: |