Editable or ReadOnly 2 D (Two Dimensional) generic grid in WPF which can be bound to objects collections directly