在我的联系人应用程序(对于 wp7)中,我根本无法纠正这个错误。我还在下面添加了一张图片。当我点击联系人号码时,我无法拨打该号码。我收到以下错误- NullReferenceException。我也使用过PhoneCallTask。
在 xaml-
<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock Text="{Binding Path=DisplayName, Mode=OneWay}" Foreground="{StaticResource PhoneAccentBrush}" FontSize="{StaticResource PhoneFontSizeExtraLarge}" />
<Border BorderThickness="2" HorizontalAlignment="Left" BorderBrush="{StaticResource PhoneAccentBrush}" >
<Image Name="Picture" Height="175" Width="175" HorizontalAlignment="Left" />
</Border>
<TextBlock Height="50" Name="textBlock1" Text="call mobile" FontSize="40" Margin="0,30,0,0"/>
<ListBox x:Name="ListBox" ItemsSource="{Binding Path=PhoneNumbers}" FontSize="64" Height="100" Margin="0,0,0,0" SelectionChanged="ListBox_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!--TextBlock Grid.Column="0" Text="{Binding Path=Kind, Mode=OneWay}" />
<TextBlock Grid.Column="1" Text=": " /-->
<TextBlock Grid.Column="2" Text="{Binding Path=PhoneNumber, Mode=OneWay}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
在 xaml.cs-
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
//Set the data context for this page to the selected contact
this.DataContext = App.con;
try
{
//Try to get a picture of the contact
BitmapImage img = new BitmapImage();
img.SetSource(App.con.GetPicture());
Picture.Source = img;
}
catch (Exception)
{
//can't get a picture of the contact
}
}
private void ListBox_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
SampleData data = (sender as ListBox).SelectedItem as SampleData;
ListBoxItem selectedItem = this.ListBox.ItemContainerGenerator.ContainerFromItem(data) as ListBoxItem;
PhoneCallTask PhoneTask = new PhoneCallTask();
PhoneTask.PhoneNumber = data.PhoneNumbers;
PhoneTask.Show();
}
public class SampleData
{
public string PhoneNumbers { get; set; }
}
有人可以帮我吗?提前感谢您的辛勤工作!