두 개의 List<ColumnClass>
이 있습니다. 하나는 왼쪽 목록보기 용이고 다른 하나는 오른쪽 목록보기 용입니다. 이 목록보기는 팝업 상자에 있습니다. Listview의 List를 수정하고 다시 Listview의 ItemsSource에 할당하려고합니다. 그러나 이것은 UI에 즉시 반영되지 않습니다. 팝업을 닫고 다시 열면 변경 사항이 반영됩니다. 내가 뭘 놓치고 있니? 항목이 제거 될 때마다 당신이 당신 ColumnClass
구현이 INotifyPropertyChanged
이 때이 속성 변경 UI를 업데이트 할 수 있는지 확인하여 ColumnClass
속성을 modifing에있는 경우ListView에서 추가 제거 중 UI에 반영되지 않음
1
A
답변
2
당신은 ObservableCollection<T>
와 List<T>
이 ObservableCollections 당신의 ListView 업데이트됩니다 교체해야합니다.
예 :
코드 :
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
MyColumns.Add(new ColumnClass { Name = "Column1" });
MyColumns.Add(new ColumnClass { Name = "Column2" });
MyColumns.Add(new ColumnClass { Name = "Column3" });
}
private ObservableCollection<ColumnClass> _myColumns = new ObservableCollection<ColumnClass>();
public ObservableCollection<ColumnClass> MyColumns
{
get { return _myColumns; }
set { _myColumns = value; }
}
}
XAML :
<Window x:Class="WpfApplication8.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WpfApplication8" Height="368" Width="486" Name="UI" >
<Grid>
<ListView ItemsSource="{Binding ElementName=UI, Path=MyColumns}" DisplayMemberPath="Name" />
</Grid>
</Window>
모델 :
public class ColumnClass : INotifyPropertyChanged
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; NotifyPropertyChanged("Name"); }
}
public event PropertyChangedEventHandler PropertyChanged;
/// <summary>
/// Notifies the property changed.
/// </summary>
/// <param name="property">The info.</param>
public void NotifyPropertyChanged(string property)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(property));
}
}
}
0
당신은 변경해야 List<T>
에 ObservableCollection<T>
또는 BindingList<T>
.
이유, 목록에 INotifyPropertyChanged
이 구현되어 있지 않습니다.
관련 문제
- 1. ListView에서 문자열 추가 또는 제거
- 2. viewmodel 속성의 변경 사항이 UI에 반영되지 않습니다.
- 3. Joomla 모듈 소스 업데이트 중 변경 사항이 반영되지 않음
- 4. UI에 반영되지 않은 구성 요소 속성 변경
- 5. ~/.vimrc의 업데이트가 반영되지 않음
- 6. DB에서 값 변경 solr에 반영되지 않음
- 7. 네비게이션 속성이 반영되지 않음
- 8. xml listview에서 스크롤 제거
- 9. SVG UI에 텍스트 추가
- 10. 작업 업데이트 UI에 반영되지 않는 데이터 바인딩 된 OC
- 11. .webpart 파일 EmptyMessage 속성이 반영되지 않음
- 12. 목록보기에 동적으로 그룹 추가 notifyDataSetChanged 후에 반영되지 않음
- 13. SQLAlchemy 테이블이 데이터베이스에 반영되지 않음
- 14. ListView에서 선택한 항목 제거
- 15. ListView에서 테두리 제거
- 16. ListView에서 선택한 항목 제거
- 17. ListView에서 이미지로 ListViewItem 제거
- 18. listview에서 여러 항목 제거
- 19. ListView에서 번호 매기기 제거
- 20. jQuery 추가/제거 - 추가, 제거하지 않음
- 21. 프리즘 : 셸 영역보기 변경이 xaml보기에 반영되지 않음
- 22. ExpressionEngine 업데이트가 사이트에 반영되지 않음
- 23. 데이터 바인딩이 컬렉션에 반영되지 않음
- 24. 상태가 HTML 페이지에 반영되지 않음
- 25. Sodium 이벤트 업데이트 반영되지 않음
- 26. 데이터베이스에 컬럼 이름이 반영되지 않음
- 27. 파이어베이스 바인딩이 각도보기에 반영되지 않음
- 28. AngularJS $ 범위 업데이트가보기에 반영되지 않음
- 29. Observable의 변경 내용이보기에 반영되지 않음
- 30. Twisted에서 py 업데이트가 반영되지 않음