-
[WPF] ICollectionView, List Group viewC#/WPF 2025. 10. 30. 16:51
ex) AI Sample
.cs
// In your ViewModel public class MyViewModel : INotifyPropertyChanged { private ObservableCollection<MyItem> _allItems; public ICollectionView FilteredItems { get; private set; } private string _filterText; public string FilterText { get { return _filterText; } set { if (_filterText != value) { _filterText = value; OnPropertyChanged(nameof(FilterText)); FilteredItems.Refresh(); // Re-apply the filter } } } public MyViewModel() { _allItems = new ObservableCollection<MyItem> { new MyItem { Name = "Apple" }, new MyItem { Name = "Banana" }, new MyItem { Name = "Orange" }, new MyItem { Name = "Grape" } }; FilteredItems = CollectionViewSource.GetDefaultView(_allItems); FilteredItems.Filter = FilterMethod; } private bool FilterMethod(object item) { if (string.IsNullOrWhiteSpace(FilterText)) { return true; // Show all items if no filter text } var myItem = item as MyItem; return myItem != null && myItem.Name.Contains(FilterText, StringComparison.OrdinalIgnoreCase); } // INotifyPropertyChanged implementation public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } }xaml
<!-- In your XAML --> <StackPanel> <TextBox Text="{Binding FilterText, UpdateSourceTrigger=PropertyChanged}"/> <ListBox ItemsSource="{Binding FilteredItems}"/> </StackPanel># Practice
ListBox ItemsSource 를 ICollectionView 프로퍼티로 바인딩ListBox.GroupStyle 추가
아래 Name 바인딩은 ICollectionView 의 Group에서의 프로퍼티 Name

ICollectionView 프로퍼티 추가
INotifypropertyChanged (=setvalue) 해줘야 dataChanged 반영 됨.

ICollectionView InnerList에 기존 바인딩하던 소스 프로퍼티 넣고
어떤거 그룹으로 나눌지 GroupDescriptions.Add(string name);
=> xaml 에서 {Binding Name} 으로 바인딩한 Name 에 출력되는 이름.

[WPF] WPF Listbox 컨트롤 Group 별로 필터하기
안녕하세요. 오늘은 WPF에서 Listbox 컨트롤 사용방법에 대해서 알려 드리려고 합니다. 그 중에서도, ListBox 컨트롤에서 제공해주는 기능인 Group에 대해서 알아 보려고 하는데요. 그룹은 말 그대로
afsdzvcx123.tistory.com
728x90'C# > WPF' 카테고리의 다른 글
[WPF][별*] Converters Examples (0) 2025.11.06 [WPF] MVVM Switcher (0) 2025.11.04 [WPF] TextBlock ( Binding + Text) (0) 2025.10.16 [WPF] AssemblySearchPaths (0) 2025.10.15 [WPF] LoadingDecorator time increase (0) 2025.09.18 댓글