嗨,我有observablecollection,我從服務器獲取數據,當它結束時,我想在我的頁面刷新列表。數據即將到來,但我不能在屏幕上看到它,我找不到我的錯誤。我實施INotifypropertychanged埠我認爲它不太好。當我把斷點我看到PropertyChanged事件每次都是空的。用戶界面不會改變後可觀察的收集更改
我班
public class Ulke:INotifyPropertyChanged
{
private int _ulkeID;
public int UlkeID
{
get { return _ulkeID; }
set { _ulkeID = value; NotifyPropertyChanged(); }
}
private string _adi;
public string Adi
{
get { return _adi; }
set { _adi = value; NotifyPropertyChanged(); }
}
public string DiyanetID { get; set; }
public bool EyaletVarmi { get; set; }
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
UlkeRepository類
public class UlkeRepository : INotifyPropertyChanged
{
public UlkeRepository()
{
_ulkeler = new ObservableCollection<Ulke>();
ulkeler.Add(new Ulke { UlkeID = 3, EyaletVarmi = true, DiyanetID = "3", Adi = "Moliba" });
ulkeler.Add(new Ulke { UlkeID = 5, EyaletVarmi = true, DiyanetID = "3", Adi = "As" });
}
private ObservableCollection<Ulke> _ulkeler;
public ObservableCollection<Ulke> ulkeler
{
get { return _ulkeler; }
set { _ulkeler = value; NotifyPropertyChanged(); }
}
public async Task UlkeGetir()
{
JsonDownloader js = new JsonDownloader();
var result = await js.GetDataFromUrl<Ulke>("http://www.example.com/A/UlkeGetir");
ulkeler = result;
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
MyPageLoaded代碼
this.DataContext = ulke.ulkeler;
liste.DataContext = ulke.ulkeler;
ulke.UlkeGetir();
XAML代碼
<ListBox x:Name="liste"
ItemsSource="{Binding Mode=TwoWay}" SelectionChanged="liste_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Adi}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
先嚐試implementating的靜態列表。然後從那裏調試。一步一步來。 – 2014-12-03 02:30:22
我嘗試但沒有改變 – user1924375 2014-12-03 12:37:47
有了靜態列表,doe列表框實際上顯示列表嗎? – 2014-12-03 12:44:57