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"