OcLogs est une ObservableCollection, et la méthode "fileProvider.LineByLineReading(filePath)" prend un chemin de fichier en paramètre, le lis ligne par ligne, génère un objet "Log" à chaque ligne, et ajoute cet objet Log à une ObservableCollection que la méthode finit par renvoyer à a fin.
Jusque là pas de problèmes, j'obtiens bien une ObservableCollection à partir de mon chemin : lorsque je fais "count" sur la collection, le resultat correspond bien à ce que j'attends (le nombre d'objets est égal au nombre de ligne du fichier. Facile.)
Là ou ça se complique, c'est que je voudrais afficher le contenu de cette collection dans une ComboBox.
Comme ma collection est remplie, je pensais qu'un simple :
/// <summary>
/// base collection for the comboBox
/// </summary>
private ObservableCollection<Log> _ocLogs { get; set; }
/// <summary>
/// gets or sets the Log collection
/// </summary>
public ObservableCollection<Log> OcLogs
{
get
{
return _ocLogs;
}
set
{
_ocLogs = value;
this.RaisePropertyChanged(() => this.OcLogs);
}
}
/// <summary>
/// Gets or sets the update message command.
/// </summary>
public DelegateCommand UpdateMessageCommand { get; set; }
/// <summary>
/// Initialize all commands.
/// </summary>
public override void InitializeCommand()
{
base.InitializeCommand();
this.UpdateMessageCommand = new DelegateCommand(this.UpdateMessageAndCombo, this.MessageCanBeUpdated);
}
/// <summary>
/// Update the message displayed.
/// </summary>
private void UpdateMessageAndCombo()
{
this.OcLogs = fileProvider.LineByLineReading(this.FilePath);
Console.WriteLine("OCLOGS COUNT = " + OcLogs.Count);
this.Message = "Chemin du fichier : " + this.FilePath;
}
Et j'obtiens une grille de données avec toutes mes infos.
Merci de m'avoir répondu. Et désolé pour le "flou" de mon sujet, je suis débutant en WPF, je navigue un peu dans le brouillard.
Vous risquez de me revoir !
19 févr. 2018 à 20:25