無法讓我的列表視圖顯示數據。ListView Observable Collection不會顯示成員
XAML
<Grid>
<DockPanel>
<ListView Name="lstDetectedComputers"
MinWidth="200"
DockPanel.Dock="Left"
ItemsSource="{Binding ComputersList}" DisplayMemberPath="ComputerName">
</ListView>
<DataGrid x:Name="ViewNetworkCardInformation"
ItemsSource="{Binding NetworkCardInformation}"/>
</DockPanel>
</Grid>
代碼:
private ObservableCollection<Object> _ComputersList;
public ObservableCollection<Object> ComputersList
{
get
{
return _ComputersList;
}
set
{
_ComputersList = value; NotifyPropertyChanged("ComputersList");
}
}
private DataTable _NetworkCardInformation;
public DataTable NetworkCardInformation
{
get
{
return _NetworkCardInformation;
}
set
{
_NetworkCardInformation = value; NotifyPropertyChanged("NetworkCardInformation");
}
}
奇怪的是,NetworkCardInformation顯示在數據網格我所以這表明在DataContext工作正常。
現在im用ObservableCollection的印象我不需要INotifyPropertyChange,如果這是錯誤的,請建議。
我也有嘗試過的ItemsSource =「{結合ComputersList}」
我已經把一個破發點入代碼,以確保觀察集合有數據,而且它的存在。
- ComputersList計數= 2 System.Collections.ObjectModel.ObservableCollection
- [0] {AdminUltimate.Model.NetworkModel.ComputerNode} {對象} AdminUltimate.Model.NetworkModel.ComputerNode計算機名 「華碩-PC」 串
有人請協助。 謝謝
錯誤的印象。 ObservableCollection實現INotifyCollectionChanged(而不是INotifyPropertyChanged)。 OC通知插入和刪除 - 不改變現有項目。 – Paparazzi
嘗試將'ComputersList'屬性聲明爲'ObservableCollection'而不是'ObservableCollection
同意har07。 NotifyPropertyChanged( 「ComputersList」);不屬於那裏。 ComputerNode需要一個NotifyPropertyChanged(「ComputerName」); – Paparazzi