列表框没有出现在设备上
本文关键字:列表 | 更新日期: 2023-09-27 18:05:29
我正在为windows phone开发一个应用程序,我最近遇到了列表框的问题。这在我的模拟器上工作得很好,但当我部署在我的设备上时,它只显示空白。列表项是按要求创建的,但是绑定没有执行,因为单击每个项时没有携带信息。与它相关的代码如下
XAML
<ListBox Name="NotesListBox" Grid.Row="0" Margin="15,0" >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<local:NotesTile Name="TileNotes" Tap="NotesTile_Tap_1" Margin="10,10"/>
<TextBlock Text="{Binding FileName}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
c#代码 List<Notes> source = new List<Notes>()
{
new Notes(){ Content="This is some text", FileName="one.txt", IsPasswordProtected=true},
new Notes(){ Content="Another text file", FileName="two.txt", IsPasswordProtected=false}
};
//this.DataContext = this;
this.NotesListBox.ItemsSource = source;
在同一个命名空间中,我得到的类是:
class Notes
{
public string Content { get; set; }
public string DateEdited { get; set; }
public string TimeEdited { get; set; }
public string FileName { get; set; }
public bool IsPasswordProtected { get; set; }
}
我得到的东西工作良好的模拟器,甚至为windows phone 8设备。我的应用也因为同样的原因被市场拒绝了。
编辑
Binding类应该始终是公共的。将Notes类设置为公共类可以解决这个问题。
尝试在InitilizeComponent()之前在xaml.cs的构造函数中设置this.DataContext = this;
,并让我们知道它是否有效。