我正在制作滚轮德比的应用程序,可以获得诸如比赛,球队名称和统计数据等信息。信息以JSON格式存储。当我最终得到并解析我想要安排的数据时,格式类似于:Team1 Team2 Venue Date Result。行数应该是每个回合列表的长度。我无法在C#代码中找到一种方法。任何人都可以指出我正确的方向。
编辑:我已尝试实施列表框,我正在尝试按照此处的教程http://msdn.microsoft.com/en-us/library/cc265158%28v=vs.95%29.aspx
当我运行程序时,我收到以下错误消息:错误1在类'PhoneApp2.Page1'上找不到事件处理程序'PhoneApplicationPage_Loaded'c:\ users \ lewis \ documents \ visual studio 2010 \ Projects \ PhoneApp2 \ PhoneApp2 \ Page1 .xaml Roller Derby App
这是我的第1页的Xaml
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Text="Upcoming Bouts" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" Width="297" TextWrapping="NoWrap" FontSize="40" HorizontalAlignment="Left" />
<Button Name="Home" Content="Home" Width="310" HorizontalContentAlignment="Center" HorizontalAlignment="Left" Click="Home_Click" />
</StackPanel>
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<ListBox Height="100" HorizontalAlignment="Left" Margin="544,177,0,0" Name="ListofBouts" VerticalAlignment="Top" Width="460" Loaded="ListofBouts_Loaded">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Padding="5,0,5,0"
Text="{Binding Venue}" />
<TextBlock Text="{Binding Team1}" />
<TextBlock Text="{Binding Team2}"/>
<TextBlock Text="{Binding Date}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Grid>
<!--Sample code showing usage of ApplicationBar-->
<!--<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="MenuItem 1"/>
<shell:ApplicationBarMenuItem Text="MenuItem 2"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>-->
这是C#
namespace PhoneApp2
{
public partial class Page1 : PhoneApplicationPage
{
public Page1()
{
InitializeComponent();
}
private void Home_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
}
private void ListofBouts_Loaded(object sender, RoutedEventArgs e)
{
InitializeComponent();
}
public class Bouts
{
public string Venue { get; set; }
public string Team1 { get; set; }
public string Team2 { get; set; }
public string Date { get; set; }
public Bouts(String venue, String team1, String team2, String date)
{
this.Venue = venue;
this.Team1 = team1;
this.Team2 = team2;
this.Date = date;
}
}
public class bouts : ObservableCollection<Bouts>
{
public bouts()
{
Add(new Bouts("Yankee Sadium", "Yankees", "Mets", "March 3"));
Add(new Bouts("Yankee Sadium", "Yankees", "Mets", "March 3"));
Add(new Bouts("Yankee Sadium", "Yankees", "Mets", "March 3"));
Add(new Bouts("Yankee Sadium", "Yankees", "Mets", "March 3"));
}
}
}
}
答案 0 :(得分:1)
错误是说有一个事件为Loaded
定义了Page1
事件。由于事件未在代码隐藏中定义,因此必须在XAML中声明:
<phone:PhoneApplicationPage
x:Class="PhoneApp2.Pag1"
Loaded="PhoneApplicationPage_Loaded"
OtherStuff...
>
<RestOfXaml>
删除Loaded =“PhoneApplicationPage_Loaded”,错误应该消失。或者在后面的代码中定义事件。要么应该工作。