La colonne Datagrid peut-elle contenir différents types de contrôles dans différentes lignes

Dans Wpf, puis-je créer une grid de données dont les différentes lignes contiennent différents types de contrôles dans la même colonne?

Pour le cas le plus simple: grid de données avec 5 colonnes, 2 lignes, ne vous souciez pas de 4 premières colonnes, en 5ème colonne

  • 1ère rangée: c’est une zone de texte
  • 2e rangée: c’est une liste déroulante.

Merci!

Vous pouvez utiliser un DataGridTemplateColumn associé à quelques déclencheurs pour obtenir cette fonctionnalité.

Ceci est une application de démonstration qui lie un DataGrid à une liste de types de contrôle (chaîne). La première colonne affiche simplement la chaîne de type de contrôle et la deuxième colonne utilise les mêmes informations pour présenter le contrôle correspondant. Vous pourrez peut-être rendre le xaml un peu plus concis, mais voici le principe:

Le XAML:

                   

Code-behind et modèle de vue:

 namespace DataGridWithMultipleTypesPerColumn { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.DataContext = new ViewModel(); } } public class ViewModel { public ObservableCollection ControlTypes { get; private set; } public ViewModel() { ControlTypes = new ObservableCollection() { "Button", "TextBox", "CheckBox" }; } } } 

Oui, vous pouvez. Vous devez créer un modèle pour votre colonne.

Voir ceci: WPF DataGrid différents contrôles d’édition au sein d’une seule colonne