간단한 데이터 탐색 명령으로 간단한 MVVM WPF 응용 프로그램을 구현할 예정입니다. 를 Where 절을WPF ListBox에 새 목록을 설정하는 방법은 무엇입니까?
<TextBox Grid.Column="2" Grid.Row="6" Margin="0,5,10,5" Name="textBoxWhereClause" />
명씩 ObservableCollection에이를 삽입하는 텍스트 상자이 외에
은 목록 상자
<ListBox x:Name="listBoxPersons" ItemsSource="{Binding Path=Persons}" SelectedIndex="{Binding Path=SelectedPerson, Mode=OneWayToSource}" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Margin="0,10,10,5" IsSynchronizedWithCurrentItem="True">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
와 XAML 창 있습니다. 나는 사람들을 위해 단순한 추가/삭제/변경 명령을 구현했다. 이 작동합니다.
질문 : 사용자가 완전히 새로운 컬렉션을 생성하는 새로운 쿼리를 수행하면 어떻게해야합니까? 어떻게 새 컬렉션을 동적으로 목록 상자에 바인딩 할 수 있습니까?
저는 WPF 초심자이며 무력합니다.
도움을 주신 분께 감사드립니다.
사용자 컬렉션을 지우고 빈 컬렉션을 새 결과로 채울 수 있습니다. – BigL
네, 고마워요, 사실이긴하지만 테이블에는 약 5 만 명이 있습니다. 이로 인해 성능이 저하 될 수 있습니다. – PeterP
Haris Hassan이 대답했듯이 바인딩 된 컬렉션을 새로로드 된 컬렉션으로 쉽게 변경할 수 있습니다. 그리고 아마도 당신의 퍼포먼스를 해결하기 위해 새로운 컬렉션을 백그라운드에서 다른 작업으로로드 할 수 있습니다. – BigL