ListView Simple liaison de données
J'essaie d'afficher les données dans un ListView
avec WPF et C#, et je suis confus par les différents exemples et des méthodes que j'ai vu. Je suis à la recherche d'un travail entièrement exemple similaire à mon programme, ou d'une liste de pré-requis pour le faire fonctionner. Je serai heureux si je parviens à afficher seulement 1 ligne de données à partir de ma collection. Actuellement, la liste n'affiche rien.
C#:
public partial class MainWindow : Window
{
public ObservableCollection<Row> Rows { get; set; }
public MainWindow()
{
InitializeComponent();
Rows = new ObservableCollection<Row>();
Rows.Add(new Row
{
ID = "42",
Category = "cat",
CharLimit = 32,
Text = "Bonjour"
});
}
}
public class Row
{
public string ID { get; set; }
public string Category { get; set; }
public int CharLimit { get; set; }
public string Text { get; set; }
}
XAML:
<ListView ItemsSource="{Binding Path=Rows}">
<ListView.View>
<GridView>
<GridViewColumn Width="200" Header="ID" DisplayMemberBinding="{Binding Path=ID}" />
<GridViewColumn Width="200" Header="Category" DisplayMemberBinding="{Binding Path=Category}" />
<GridViewColumn Width="200" Header="Text" DisplayMemberBinding="{Binding Path=Text}" />
</GridView>
</ListView.View>
</ListView>
Merci d'avance
Il semble que vous n'avez pas de fixer un DataContext n'importe où, qui dans ce cas doit être l'instance de MainWindow. Je vous recommande également à la recherche dans le design pattern MVVM et un framework MVVM.
Merci, je vais vérifier certains MVVM tutoriels pour saisir l'idée et essayer de faire les choses 🙂
Merci, je vais vérifier certains MVVM tutoriels pour saisir l'idée et essayer de faire les choses 🙂
OriginalL'auteur Noxxys | 2013-06-08
Vous devez vous connecter pour publier un commentaire.
Créer un
viewmodel
qui peut être défini comme le contexte de données pour le code XAMLMettre en œuvre la classe
RowViewModel
dans le dessous de la mode:Dans le code-behind de XAML, ajoutez le code:
Ajouter la mise à jour de la source de déclenchement de la propriété dans la liste de nœud:
OriginalL'auteur Arushi Agrawal
Vous devez spécifier la source sinon, comme dans votre cas, il va chercher le bien dans le contexte actuel qui, par défaut, si rien d'autre n'est spécifié,
DataContext
. Essayez quelque chose comme ceci:Comme que vous spécifiez qu'il doit chercher
Rows
en courantWindow
OriginalL'auteur dkozl