C# 如何获取数组的第一项
我有一个关于媒体新闻的windows phone项目。 关于这个项目,我有一个项目。在我的第一次尖叫中,我从我的web API获得了消息 我使用长列表选择器来获取这些新闻,但我想把first/hot/new放在最上面,上面有它的大图和文本。但是我不能在我的网格上正确地给出源代码,同时C# 如何获取数组的第一项,c#,xaml,data-binding,windows-phone-8,windows-phone,C#,Xaml,Data Binding,Windows Phone 8,Windows Phone,我有一个关于媒体新闻的windows phone项目。 关于这个项目,我有一个项目。在我的第一次尖叫中,我从我的web API获得了消息 我使用长列表选择器来获取这些新闻,但我想把first/hot/new放在最上面,上面有它的大图和文本。但是我不能在我的网格上正确地给出源代码,同时LongListSelector 简而言之,我想把我的新闻“一条接一条”地列出来,最新的/第一条新闻将在顶部大图显示 这是我尝试过的 MAINPAGE.XAML <!--Panorama item one--&
LongListSelector
简而言之,我想把我的新闻“一条接一条”地列出来,最新的/第一条新闻将在顶部大图显示
这是我尝试过的
MAINPAGE.XAML
<!--Panorama item one-->
<phone:PanoramaItem Header="Haberler" Foreground="DarkGreen">
<ScrollViewer VerticalScrollBarVisibility="Auto" Background="White">
<StackPanel Orientation="Vertical">
<Grid x:Name="HeadNew">
<TextBlock x:Name="textBlock14" Text="{Binding Path=TITLE}" TextWrapping="Wrap" Margin="20,0" FontSize="{StaticResource PhoneFontSizeLarge}" Foreground="Black"/>
<Border Width="400" Height="250">
<Border.Background>
<ImageBrush Stretch="Uniform" ImageSource="{Binding Path=MF658370_IMAGE}"/>
</Border.Background>
</Border>
</Grid>
<phone:LongListSelector x:Name="MainLongListSelector" Background="White" Margin="-20,0,0,0" Height="Auto" Loaded="MainLongListSelectorLoaded" SelectionChanged="MainLongListSelectorSelectionChanged" toolkit:TiltEffect.IsTiltEnabled="True">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="12,2,0,4" Height="Auto" Width="Auto">
<Border Width="126" Height="70">
<Border.Background>
<ImageBrush Stretch="Uniform" ImageSource="{Binding Path=MF12670_IMAGE}"/>
</Border.Background>
</Border>
<TextBlock x:Name="textBlock1" Text="{Binding Path=TITLE}" Margin="10,0" FontSize="{StaticResource PhoneFontSizeMedium}" Foreground="Black" />
</StackPanel>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
</StackPanel>
</ScrollViewer>
</phone:PanoramaItem>
这是MAINPAGE.XAML.CS
private void MainLongListSelectorLoaded(object sender, RoutedEventArgs e)
{
const string url = "MY_WEB_API_URL";
var hWebRequest = (HttpWebRequest)WebRequest.Create(url);
hWebRequest.Method = "GET";
hWebRequest.BeginGetResponse(MainLongListSelectorLoadCompleted, hWebRequest);
}
private void MainLongListSelectorLoadCompleted(IAsyncResult arr)
{
var request = (HttpWebRequest)arr.AsyncState;
var response = (HttpWebResponse)request.EndGetResponse(arr);
using (var streamReader = new StreamReader(response.GetResponseStream()))
{
_json = streamReader.ReadToEnd();
Headlines = JsonConvert.DeserializeObject<FanatikApiAll.RootObject>(_json);
}
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
MainLongListSelector.ItemsSource = Headlines.Headline;
});
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
HeadNew.DataContext = Headlines.Headline;
});
}
private void Main LongListSelector已加载(对象发送方、路由目标方)
{
const string url=“我的WEB\u API\u url”;
var hWebRequest=(HttpWebRequest)WebRequest.Create(url);
hWebRequest.Method=“GET”;
hWebRequest.BeginGetResponse(主长列表选择器或加载完成,hWebRequest);
}
private void Main LongListSelector加载已完成(IAsyncResult arr)
{
var request=(HttpWebRequest)arr.AsyncState;
var response=(HttpWebResponse)request.EndGetResponse(arr);
使用(var streamReader=newstreamreader(response.GetResponseStream()))
{
_json=streamReader.ReadToEnd();
标题=JsonConvert.DeserializeObject(_json);
}
Deployment.Current.Dispatcher.BeginInvoke(()=>
{
MainLongListSelector.ItemsSource=Headlines.Headline;
});
Deployment.Current.Dispatcher.BeginInvoke(()=>
{
HeadNew.DataContext=Headlines.Headline;
});
}
由于HeadNew不是列表控件,因此只需分配所需的项,而不需要分配整个列表。例如,要获取第一个项目(如果有):
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
HeadNew.DataContext = Headlines.Headline.FirstOrDefault();
});
@kgms21使用
使用System.Linq添加代码>