J'essaye de placer la propriété ItemsSource
d'un DataGrid
nommé dgIssueSummary
à ObservableCollection
nommé IssueSummaryList
. À l'heure actuelle, tout fonctionne quand je mets la propriété ItemsSource
dans mon code-behind:Comment puis-je définir l'ItemsSource d'un DataGrid en XAML?
public partial class MainPage : UserControl
{
private ObservableCollection<IssueSummary> IssueSummaryList = new ObservableCollection<IssueSummary>
public MainPage()
{
InitializeComponent();
dgIssueSummary.ItemsSource = IssueSummaryList
}
}
Cependant, je préfère défini la propriété ItemsSource
en XAML, mais je ne peux pas le faire fonctionner. Voici le code XAML je:
<sdk:DataGrid x:Name="dgIssueSummary" AutoGenerateColumns="False"
ItemsSource="{Binding IssueSummaryList}" >
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding ProblemType}" Header="Problem Type"/>
<sdk:DataGridTextColumn Binding="{Binding Count}" Header="Count"/>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
Que dois-je faire pour définir la propriété ItemsSource
être le IssueSummaryList
en XAML plutôt que C#?
est-ce pas la chose DataContext nécessaire que si vous utilisez le M-V-VM modèle pour la liaison? Il semble n'utiliser que du code derrière les fichiers – KroaX
@KroaX: Non. La liaison fonctionne via un DataContext. Le modèle MVVM en tire parti, mais la liaison de données dans WPF (et Silverlight) lie toujours une propriété sur le DataContext utilisé par UIElement. –