我的xaml代码中有一个ListPicker,它包含的不仅仅是ListPickerItem,我想根据选择的ListPickerItem在地图上显示一个图钉。
那是我的XAML:
<toolkit:ListPicker Foreground="white" Opacity="0.9" x:Name="OptionSelection" Margin="0,18,0,0" SelectionChanged="Picker">
<toolkit:ListPickerItem Tag="1" x:Name="Option1" Content="Item1"/>
<toolkit:ListPickerItem Tag="2" x:Name="Option2" Content="Item2"/>
<toolkit:ListPickerItem Tag="3" x:Name="Option3" Content="Item3"/>
</toolkit:ListPicker>
这是我的SelectionChanged事件的CS代码:
private void Picker(object sender, SelectionChangedEventArgs e)
{
var tag = ((ListPickerItem)OptionSelection.SelectedItem).Tag;
if (tag.Equals(1))
{
MessageBox.Show("Item1 selected"); //I will replace this with my geolocation function later.
}
}
主要是我想知道如何在我的代码上应用if语句,这将帮助我根据所选项添加地理定位功能。
答案 0 :(得分:0)
根据用户选择执行代码的if
语句看起来很好,除了Tag
的值在这种情况下是一个字符串,所以你应该将它与另一个字符串({{1}进行比较而不是整数("1"
)。
当1
的值为null时,似乎抛出了异常。您可以尝试在函数开头添加简单检查以正确处理此条件并避免SelectedItem
:
NullReferenceException