selecteditems personalizar examples ejemplo columns c# wpf datagrid

personalizar - selecteditems datagrid c#



Cómo mostrar elementos en la vista de cuadrícula de datos en función de la selección de muchas casillas en wpf (0)

He desarrollado una interfaz de usuario que se ve de la siguiente manera:

Quiero mostrar los elementos en la cuadrícula de datos en función de las casillas de verificación seleccionadas.

Escenario actual: ahora con mi código siempre se muestran los elementos presentes en mi último archivo seleccionado de casilla de verificación. Por ejemplo, si he seleccionado la 1ª casilla de verificación, entonces los elementos presentes en el primer archivo se muestran correctamente y, de manera similar, si seleccioné la segunda casilla de verificación, se mostrarán los elementos del 2º archivo.

Uso requerido (No se puede hacer esto) Si se seleccionan ambas casillas de verificación, se deben mostrar los elementos de ambos archivos. En segundo lugar, si desactivo una casilla de verificación, entonces los elementos de ese archivo no deberían mostrarse. Me refiero a que los artículos deberían actualizarse dinámicamente sobre la base de la selección de casillas de verificación.

Mi intento

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); }

Definiciones

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

Una solución posible Haga un botón "Aceptar". Después de seleccionar las casillas de verificación, el usuario debe hacer clic en el botón OK cada vez. Envíe la casilla de verificación seleccionada como lista y visualice los archivos según corresponda. (Lo he implementado con éxito, pero no quiero esta solución, ya que no es fácil de usar).

Sugeridme cómo implementar "UseCase requerido"