【发布时间】:2014-09-15 13:15:21
【问题描述】:
我在 GridView 中显示数据时遇到问题。我似乎做错了,我找不到任何其他有关此的主题。可能我正在监督一些非常简单的事情。
我有这个网格视图:
<GridView ItemsSource="{Binding Source={StaticResource itemsViewSource}}" Width="383" Height="216"/>
<Button Content="Button" Click="Button_Click" />
我有这个 CollectionViewSource:
<Page.Resources>
<CollectionViewSource x:Name="itemsViewSource" Source="{Binding NamesList, Mode=TwoWay}"/>
</Page.Resources>
还有这段代码:
人物类:
public class Person : INotifyPropertyChanged {
private string m_name;
private string m_gender;
public event PropertyChangedEventHandler PropertyChanged;
public string Name {
get {
return m_name;
}
set {
m_name = value;
RaisePropertyChanged("Name");
}
}
public string Gender {
get {
return m_gender;
}
set {
m_gender = value;
RaisePropertyChanged("Gender");
}
}
protected void RaisePropertyChanged(string PropertyName) {
var eventhandler = this.PropertyChanged;
if (eventhandler != null) {
eventhandler(this, new PropertyChangedEventArgs(PropertyName));
}
}
}
主页:
public sealed partial class MainPage : Page{
public ObservableCollection<Person> NamesList {get; set;}
public MainPage(){
this.InitializeComponent();
Person p = new Person();
Person p2 = new Person();
Person p3 = new Person();
p.Name = "Piet";
p.Gender = "Male";
p2.Name = "Pietin";
p2.Gender = "Female";
p3.Name = "Piet de tweede";
p3.Gender = "Male";
NamesList = new ObservableCollection<Person>();
NamesList.Add(p);
NamesList.Add(p2);
NamesList.Add(p3);
}
: private void Button_Click(object sender, RoutedEventArgs e) {
itemsViewSource.Source = NamesList;
}
}
为什么我的 GridView 不显示任何数据或在单击按钮时不添加数据?
@edit 16:16 - 15-09-2014 如果单击后我添加以下内容,它会显示项目。但这不是它应该的样子。
itemsViewSource.Source = NamesList;
@edit 09:04 - 16-09-2014 我加了这个调试图显示绑定好,他可以找到NamesList。但是,如果我查看 itemsViewSource,它会说 Source 为空。
【问题讨论】:
标签: c# xaml gridview windows-runtime