Как отобразить элементы в виде сетки данных на основе множества флажков в wpf

Я разработал пользовательский интерфейс, который выглядит следующим образом:

Я хочу отображать элементы в сетке данных на основе выбранных флажков.

Текущий сценарий: Прямо сейчас с моим кодом всегда отображаются элементы, присутствующие в моем последнем выбранном флажке. Например, если я выбрал первый флажок, то элементы, присутствующие в первом файле, отображаются корректно, и аналогично, если я выбрал второй флажок, то отображаются элементы из второго файла.

Требуемый вариант использования (Невозможно сделать это) Если установлены оба флажка, должны отображаться элементы из обоих файлов. Во-вторых, если я сниму один флажок, то элементы из этого файла не должны отображаться. Я имею в виду, что элементы должны обновляться динамически на основе выбора флажка.

Моя попытка

FrameworkElementFactory FF = new FrameworkElementFactory(typeof(CheckBox));

FF.SetBinding(CheckBox.BindingGroupProperty, new Binding("Index"));
FF.SetBinding(CheckBox.IsCheckedProperty, new Binding("FileSelected") { UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged });
FF.SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Center);
for (int i = 0; i < Resultnew.Count; i++)
{
    var Dgrh = new DataGridRowHelper() { File_Name = lb1.Content, Index = i };
    Dgrh.ThrowFileSlctdEvent += (sender1, args) => {items = PopulateVariables(Resultnew[Dgrh.File_Name.ToString()]); DataGrid.ItemsSource = items; };
    Dgrh.ThrowFileNotSlctdEvent += (sender2, args) => { };
    A2lFilesPopulateList.Items.Add(Dgrh);
}

Определения

ObservableCollection<DataGridRowHelper> items = new ObservableCollection<DataGridRowHelper>();
private Dictionary<String, ParsedResult> Resultnew = new Dictionary<String, ParsedResult>();
public delegate void EventHandler(object sender, EventArgs args); //Defined in DataGridrowhelperClass
public event EventHandler ThrowFileSlctdEvent = delegate { }; //Defined in DataGridrowhelperClass
    public event EventHandler ThrowFileNotSlctdEvent = delegate { }; //Defined in DataGridrowhelperClass

Одно из возможных решений Сделайте кнопку «ОК». После установки флажков пользователь должен нажимать кнопку ОК каждый раз. Отправьте выбранный флажок в виде списка и отобразите файлы соответствующим образом. (Я реализовал это успешно, но я не хочу это решение, поскольку оно не является удобным для пользователя).

Подскажите пожалуйста как реализовать«Обязательный UseCase»

Ответы на вопрос(0)

Ваш ответ на вопрос