Question

Je suis en train de lier un HashSet à un élément ListView. J'ai documenté mon code ici:

public class Person {
    public string Name { get; set; }
    public AddressList = new AddressList ();
}
public class AddressList : HashSet<Addresses>
{
    //
}
public class Addresses {
    public string Streetname { get; set; }
    public string City { get; set; }
}
public class PersonViewModel : INotifyPropertyChanged {
    private Person _person;

    public PersonViewModel(Person person)
    {
        _person= person; 
    }

    public string Name
    {
        get { return _person.Name; }
        set
        {
            _person.Name = value;
            OnPropertyChanged("Name");
        }
    }
    private void OnPropertyChanged(string property)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
    }
}

 // This is how I add the DataContext: mainGrid.DataContext = _person //this is a PersonViewModel();
 // This is how I bind the DataObjects to the GUI Elements: <TextBox Name="TxtBoxName" Text="{Binding Path=.Name, Mode=TwoWay}"/>
 // How can I add in the same way a HashSet to a ListView Element in the WPF Gui? I tried something like {Binding Path=.Name, Mode=TwoWay}

Quelqu'un peut-il me aider avec Tipps comment accomplir cela? Merci beaucoup!

Vive

Était-ce utile?

La solution

Pour lier une collection à un ListView (ou tout ItemsControl, d'ailleurs), vous devez définir sa propriété ItemsSource. Cela devrait être lié à une instance de votre classe AddressList, en supposant que la collecte est ce que vous voulez afficher dans votre liste.

Une fois que vous avez fait cela, vous aurez besoin de mettre en place les liaisons pour chaque colonne dans le ListView, semblable à la façon dont votre commentaire au bas de l'exemple de code décrit.

Autres conseils

Cet exemple se lie à un données XML source, mais vous devriez être en mesure de l'adapter à vos besoins.

Voir aussi la documentation MSDN pour ListView .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top