我正在尝试创建一个由Dataset / ItemSource填充的简单ListView。
目标是当有人选择ITEM-A时,我知道该条目的值是 (ITEM-A的值为27012)
具有(VoidPanel.xaml)的xaml
<ListView ItemsSource="{Binding names.FirstName}" x:Name="lvReasons" IsSwipeEnabled="False" IsItemClickEnabled="False" SelectionMode="Single">
</ListView>
(VoidPanel.xaml.cs)的cs
namespace App01.Win8.Controls
{
public sealed partial class VoidPanel : UserControl
{
private ObservableCollection<VoidListElement> names = new ObservableCollection<VoidListElement>();
public VoidPanel()
{
this.InitializeComponent();
names = new ObservableCollection<VoidListElement>();
names.Add(new VoidListElement("ITEM-A", "27017"));
names.Add(new VoidListElement("ITEM-B", "27018"));
this.DataContext = this;
}
}
}
班级元素
namespace App01.Win8.DataModel
{
public class VoidListElement
{
public VoidListElement(string firstname, string lastname)
{
this.FirstName = firstname;
this.LastName = lastname;
}
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
问题是它无法正常工作。我没有在屏幕上呈现任何项目。
我知道ListView可以定义一个DataContext,在这种情况下我没有设置一个,所以我假设它使用当前的类。
据我所知,ListView可以定义一个ItemSource,它已绑定到应该从DataContext中提取的names.Firstname。
有人可以给我一些提示,或者一个体面的工作示例。
答案 0 :(得分:2)
XAML:
<ListView x:Name="lvReasons"
ItemsSource="{Binding names}"
DisplayMemberPath="FirstName"
IsSwipeEnabled="False" IsItemClickEnabled="False" SelectionMode="Single" >
</ListView>
C#:
public ObservableCollection<VoidListElement> names = new ObservableCollection<VoidListElement>();
答案 1 :(得分:0)
回答......
具有(VoidPanel.xaml)的xaml
<ListView ItemsSource="{Binding names.FirstName}" x:Name="lvReasons"
**DisplayMemberPath="FirstName"**
IsSwipeEnabled="False" IsItemClickEnabled="False" SelectionMode="Single">
</ListView>
(VoidPanel.xaml.cs)的cs
namespace App01.Win8.Controls
{
public sealed partial class VoidPanel : UserControl
{
private ObservableCollection<VoidListElement> names;
**public ObservableCollection<VoidListElement> names
{ set; get; }**
public VoidPanel()
{
**names = new ObservableCollection<VoidListElement>();**
names.Add(new VoidListElement("ITEM-A", "27017"));
names.Add(new VoidListElement("ITEM-B", "27018"));
this.DataContext = this;
**this.InitializeComponent();**
}
}
}
班级元素
namespace App01.Win8.DataModel
{
public class VoidListElement
{
public VoidListElement(string firstname, string lastname)
{
this.FirstName = firstname;
this.LastName = lastname;
}
public string FirstName { get; set; }
public string LastName { get; set; }
}
}