Comment puis-je lier un ItemsControl.ItemsSource avec une propriété dans le code XAML?
J'ai une fenêtre simple :
<Window x:Class="WinActivityManager"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<ListView x:Name="lvItems" />
</Grid>
</Window>
Et le code associé à la traîne :
public partial class WinActivityManager : Window
{
private ObservableCollection<Activity> Activities { get; set; }
public WinActivityManager()
{
Activities = new ObservableCollection<Activity>();
InitializeComponent();
}
//Other code ...
}
Si j'écris la suite de liaison dans la fenêtre constructeur :
lvItems.ItemsSource = Activities;
puis ma liste est automatiquement mise à jour lorsque je ajouter ou supprimer des éléments de Activities
.
Comment dois-je écrire la liaison en XAML?
J'ai essayé ceci mais ça ne fonctionne pas:
<ListView x:Name="lvItems" ItemsSource="{Binding=Activities}" />
Comment puis-je faire ce travail en XAML?
Avez-vous essayé
ItemsSource={Binding Activities}
?OriginalL'auteur Jonny Piazzi | 2013-05-22
Vous devez vous connecter pour publier un commentaire.
Ce que @JesseJames dit est vrai, mais pas assez.
Vous devez mettre
comme
Et la liaison devrait être:
Ce qui concerne,
OriginalL'auteur sexta13
Vous devez définir DataContext de ce comme les autres, ont répondu, mais vous pouvez définir
DataContext
parxaml
aussi:{Binding=Activities}
? Ne pas vous dire{Binding Activities}
ou{Binding Path=Activities}
? Jamais vu celui-ci avant...C'était de la faute de frappe ) Merci
OriginalL'auteur Farhad Jabiyev
Ensemble
DataContext = this
dans le constructeur de Fenêtre.Ensuite, vous serez en mesure de lier les Activités que vous le souhaitez:
<ListView x:Name="lvItems" ItemsSource="{Binding=Activities}" />
OriginalL'auteur opewix
C'est parce que le contexte de données de votre point de vue n'a pas été définie. Vous pouvez soit le faire dans le code behind:
Vous pouvez également définir la Fenêtre
DataContext
à lui - même -DataContext="{Binding RelativeSource={RelativeSource Self}}"
Vous êtes beaucoup mieux si de l'enquête de la Design pattern MVVM, et à l'aide d'un framework MVVM.
OriginalL'auteur devdigital