我的申请有问题。当我在VS 2013模拟器上运行它时工作正常,但是当我尝试在设备上运行它时,它会向我显示一个错误:"无法对空引用执行运行时绑定"。谁能告诉我为什么?
public MainPage()
{
this.InitializeComponent();
this.NavigationCacheMode = NavigationCacheMode.Required;
var client = new HttpClient();
var task = client.GetAsync("json")
.ContinueWith((taskwithresponse) =>
{
var response = taskwithresponse.Result;
var jsonString = response.Content.ReadAsStringAsync();
jsonString.Wait();
dynamic content = JsonConvert.DeserializeObject<RootObject>(jsonString.Result);
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler(() =>
{
List.ItemsSource = content.value.items; //Here is an error
for (int i = 0; i < 30; i++)
{
if (content.value.items[i].description[0] == '<')
{
string input = content.value.items[i].description;
content.value.items[i].description = input.Substring(input.IndexOf("/a>") + 3);
}
}
})).AsTask().Wait();
});
}
XAML:
<Page.Resources>
<CollectionViewSource
x:Key="Value"
ItemsPath="Value"
Source="{Binding}"/>
<DataTemplate x:Key="SampleDataTemplate">
<Grid Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="1" Margin="3,0,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock HorizontalAlignment="Left"
Text="{Binding title}"
VerticalAlignment="Top"
Margin="0,0,0,0"
Foreground="White"
FontSize="20"
TextWrapping="Wrap"
Style="{StaticResource ListViewItemTextBlockStyle}"/>
<TextBlock
x:Name="text1"
HorizontalAlignment="Left"
TextWrapping="Wrap"
Text="{Binding pubDate}"
VerticalAlignment="Top"
Margin="0"
Grid.Row="1"
FontStyle="Italic"
Style="{StaticResource ListViewItemSubheaderTextBlockStyle}"/>
</Grid>
</Grid>
</DataTemplate>
</Page.Resources>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="100*"/>
<RowDefinition Height="567*"/>
</Grid.RowDefinitions>
<ListView x:Name="List"
Grid.Row="1" Margin="0,20.167,20,53"
IsItemClickEnabled="True"
IsTapEnabled="True"
ItemClick="listView_ItemClick"
SelectionChanged="List_SelectionChanged"
DataContext="bindingUsage"
ItemsSource="{Binding Source={StaticResource Value}}"
ItemTemplate="{StaticResource SampleDataTemplate}"
/>
</Grid>