我是从C# Windows 8开发开始的,我正在尝试编写一个使用LongListSelector的应用程序。该应用程序将显示一长串火车站名称。
我一直在在线上查看一些示例,包括MSDN PeopleHub和PhotoHub示例,但它们似乎非常复杂。我取下了PeopleHub示例,并对它进行了一些黑客攻击,直到我在LongListSelector中显示了一个站点列表,但我无法确定列表中选择了哪一项。当传递到另一个页面时,SelectedItem属性只是返回应用程序名,而不是列表中选择的项目。
我认为我需要一个基本示例,说明如何向LongListSelector中添加一些项,然后查找所选项并将其传递到另一个页面。我不完全理解控件是如何工作的,如果您必须在DataBinding中使用某种LongListSelector来填充它,或者它是否更简单,比如:
LongListSelectorThing.add("trainstationA");
LongListSelectorThing.add("trainstationB");
LongListSelectorThing.add("trainstationC");等
有人能给我一些简单的基本提示,说明如何填充这个控件并找出用户选择的项目吗?当我说他们选择哪个项目时,当LongListSelector网格出现时,他们单击A,然后显示以A开头的事物列表,然后单击trainstationA,我希望能够检测到他们选择了trainstationA,并将信息传递到另一个页面,这样我就可以显示关于它的更多信息。
抱歉,如果这看上去很简单的话,我对这件事很陌生。
谢谢!
发布于 2013-11-17 15:44:48
下面是一个基本的示例,可以帮助您理解:首先,在页面(xaml文件)中定义控件LongListSelector (LLS):
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<phone:LongListSelector Name="myLLS" Margin="0">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
</Grid>您还可以声明其项目的外观。它可以是任何UIElement -一个按钮,图像,网格等。在上面的代码中,我声明我的项目将是一个TextBlock,它的内容(文本)已经绑定到一个属性'Name‘。我也给LLS起了一个名字,以后我可以参考它。
在Page.cs代码中,您将填充LLS。让我们创建简单的Station类,并填充LLS:
public class Station
{
private string _stationName;
public string Name
{
get { return _stationName; }
set { _stationName = value; }
}
public Station(string station)
{
this.Name = station;
}
}
public partial class MainPage : PhoneApplicationPage
{
ObservableCollection<Station> trainStations = new ObservableCollection<Station>();
public MainPage()
{
InitializeComponent();
myLLS.ItemsSource = trainStations;
trainStations.Add(new Station("Germany"));
trainStations.Add(new Station("France"));
trainStations.Add(new Station("Italy"));
}
}重要的是:
希望这能有所帮助。编码愉快。
https://stackoverflow.com/questions/20030224
复制相似问题