我有一個可觀察收集源的listview。我確信數據在代碼後面發生了變化,但我完全厭倦了UI爲什麼不顯示更改。我錯過了什麼?Listview在更新時不會更改
我的XAML:
<GridViewColumn Width="70" Header="Status">
<GridViewColumn.CellTemplate>
<DataTemplate>
<!--<CheckBox IsChecked="{Binding Path=Status, Mode= Twoway}" HorizontalContentAlignment="Center" IsEnabled="False"/>-->
<TextBlock Text="{Binding Path=Status, Mode= Twoway}" TextAlignment="Center" Loaded="Page_Loaded"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
我的類:
public partial class tblADRMaster: INotifyPropertyChanged
{
public string Status
{
get { return _status; }
set
{
if (_status != value)
{
_status = value;
OnPropertyChanged("Status");
}
}
}
}
這是我的代碼背後:
ObservableCollection<tblADRMaster> list = new ObservableCollection<tblADRMaster>();
CurrentCase = FileMaintenanceBusiness.Instance.GetADRMasterInfobyKeywordRefresh(caseNo.CaseIDSystem, "CaseIDSystem");
foreach (var c in listFrWWC)
{
if (c.CaseIDSystem != CurrentCase.CaseIDSystem)
list.Add(c);
else
list.Add(CurrentCase);
}
foreach (var caseMaster in list)
{
caseMaster.IsMissingDocs = GetMissingDoc(caseMaster.tblADRDispositions);
caseMaster.IsProblemCase = !string.IsNullOrEmpty(caseMaster.ProblemNote) ? "Yes" : "No";
caseMaster.Status = GetStatus(caseMaster);
}
lvAdrMaster.ItemsSource = list;
我想改變現狀。它確實改變了因爲我放置了一個斷點並且STATUS從HOLD變爲ACTIVE,但是listview不會顯示變化。它仍然保持,除非我按回btn或重新加載項目。
我一整天都在排除故障,我似乎無法想象我可能錯過的任何其他事情。請告訴我。謝謝。
顯示lvAdrMaster的XAMl。你應該公開列表作爲公共財產並綁定到它並使用比列表更好的名字。 – Paparazzi