這是我的代碼。它在做什麼。我有一個帶有文本書名的文本框(按鈕),當我點擊它時,我可以使用綁定來更改文本框中的文本。但現在我添加另一個文本框的作者姓名,我不知道如何綁定它。如果我使用相同的方法來處理書名,它不起作用或書名中的文本也在書籍作者中。所有文本都通過彈出設置頁面進行更改。使用列表框的Windows Phone 8應用程序中的數據綁定
我的源代碼:https://dl.dropbox.com/u/40039421/App1.rar。 的形象在這裏:https://dl.dropbox.com/u/40039421/helpp.png
public partial class MainPage : INotifyPropertyChanged
{
private ObservableCollection<Book> _books = new ObservableCollection<Book>();
public ObservableCollection<Book> AllBooks
{
get { return _books; }
set { _books = value; }
}
...
private void InitializeData()
{
var bookName1 = new Book { Id = 1, BookName = "Small red apple",AuthorName = "Daniel"};
...
AllBooks.Add(bookName1);
...
OnPropertyChanged("AllBooks");
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(null, new PropertyChangedEventArgs(propertyName));
}
}
private void btnGreenBook_Click(object sender, RoutedEventArgs e)
{
var button = sender as Button;
if (button != null)
{
Popup popup = new Popup();
popup.VerticalOffset = 30;
PopupSettingPage control = new PopupSettingPage();
popup.Child = control;
popup.IsOpen = true;
control.btnSave.Click += (s, args) =>
{
var id = Convert.ToInt32(button.Tag);
var book = AllBooks.FirstOrDefault(sub => sub.Id == id);
if (book != null)
{
book.BookName = control.BookName;
book.OnPropertyChanged("BookName");
}
popup.IsOpen = false;
};
...
好thx男人現在它的好。 Im初學者,我不能找到很好的教程綁定更多的項目。我可以問你,也許你會知道在哪裏是問題,爲什麼我有紅色和綠色按鈕相同的值(文本)? – 2013-04-04 16:26:52
您正在將redbox和greenbox的Databinding設置爲Xaml中的相同BookName和AuthorName。你在那裏預期的行爲是什麼? – nkchandra 2013-04-05 15:40:55
我想要紅色框中的不同文字和綠色框中的不同文字。例如,我點擊彈出式菜單中的紅色框,然後保存並設置名稱和值,只在紅色框中顯示值。與綠色框相同,所有保存在綠色框中的值只應在綠色框中顯示。現在它的相同值ib綠框和相同的值我紅框它的壞。 – 2013-04-05 16:14:41