Привет, я создал список, который привязан к списку машин.Поскольку количество машин может резко возрасти, мне нужно как-то фильтровать по имени.По этой причине я предоставил TextBox, где пользователи могут ввести строку для фильтрации.Я подумал создать еще один список, который будет привязан к представлению, то есть второй список только для визуализации.Тем не менее, я думаю, что должен быть более чистый способ сделать это.
<ListBox IsSynchronizedWithCurrentItem="True" Visibility="{Binding MachinesPanelVisibility}"
ItemsSource="{Binding MachineRulesList}" SelectedIndex="{Binding ItemSelectionIndex}" />
<TextBox HorizontalAlignment="Right" Width="162" Text="Filter..." TextWrapping="Wrap" Margin="0,44,18,13" />
В модели представления:
public class BusinessRulesWizardViewModel : INotifyPropertyChanged
{
public ObservableCollection<string> MachineRulesList
{
get { return _machineRulesList; }
set
{
_machineRulesList = value;
OnPropertyChanged("MachineRulesList");
}
}
public BusinessRulesWizardViewModel(ISystemView systemViewManager,
IEventAggregator eventAggregator)
{
_machineRulesList = new ObservableCollection<string>();
_systemViewManager.GetMachines(page, pageSize).ToList().ForEach(
item => _machineRulesList.Add(item)
);
}