我是编程windows phone 7的新手,但真的很累因为我花了3天的时间解决了一个问题。我搜索所有的互联网,并得到一些很好的解释,但没有运气 - 它不适用于我的程序。使用WCF将SQL Azure连接到Windows Phone 7
我在SQL Azure中一个表中我把它叫做dbo.Messenger与结构创造:
- ID(PK,不为空)
- 类(为nvarchar(30),NULL)
- 消息(为nvarchar(最大),NULL)
- 描述(nvarchar的(200),NULL)
然后我使它WC ˚Fwchich应该给我带来的是一个清单:
[OperationContract] List<NoteDto> GetNotes();
public List<NoteDto> GetNotes()
{
using (var context = new WP7mgrEntities())
{
var notes = (from eachNote in context.Messenger
orderby eachNote.id ascending
select new NoteDto
{
id = eachNote.id,
category= eachNote.category,
description= eachNote.description,
message= eachNote.message,
}
).ToList();
return notes;
}
}
五言的
得到了每个数据成员像这样的额外的类NoteDto:
[DataMember]
public int id {get; set; }
所以在此之后我让WP7应用程序获得列表框,这也应该填写afert我点击按钮2
<ListBox Height="431" HorizontalAlignment="Left" Margin="12,199,0,0" Name="listBox1" VerticalAlignment="Top" Width="438"
ItemsSource="{Binding Notes}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding category}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
并在此背后代码:
private void button2_Click(object sender, RoutedEventArgs e)
{
Service1Client client = new Service1Client();
client.GetNotesCompleted += new EventHandler<GetNotesCompletedEventArgs>(client_GetNotesCompleted);
this.Notes = new ObservableCollection<NoteDto>();
}
private ObservableCollection<NoteDto> _notes;
public ObservableCollection<NoteDto> Notes
{
get { return _notes; }
set { _notes = value;
this.RaisePropertyChanged("Notes");
}
}
公共事件PropertyChangedEventHandler的PropertyChanged; private void RaisePropertyChanged(string propertyName) { PropertyChangedEventHandler propertyChanged = this.PropertyChanged;如果((propertyChanged!= null)) propertyChanged(this,new PropertyChangedEventArgs(propertyName)); }}
void client_GetNotesCompleted(object sender, GetNotesCompletedEventArgs e)
{this.Notes = e.Result; }
当我点击按钮2我的列表框没有被从数据库记录填写。
任何想法? Plz的帮助?
你真的不知道你的代码是未能获得票据或屏幕是否未能对变化做出反应。我会改变button2_Click来设置这个。注意到一个静态值。 – Rich 2012-04-05 20:00:23
如何设置? – HelpMyProgram 2012-04-06 15:22:56
我只是说,在button2_Click内:this.Notes = new List {new NoteDto {id = 1,category =“Foo”}};调试101.确定哪个部分失败。然后找出原因。 –
Rich
2012-04-06 16:07:46