Je ne sais pas quoi faire pour gérer les _namePrefixes pour ce contrôle. Je sais que je peux le rendre non statique, mais il est logique d'être statique pour être cohérent dans toutes les utilisations de ce contrôle en termes de contenu pour mon projet. En outre, j'ai choisi ObservableCollection en raison du scénario suivant:Comment empêcher l'ajout de valeurs dupliquées dans un thread ObservableCollection statique?
J'ai 2 machines client, une pour une utilisation standard, l'autre pour la gestion des options (admin) comme une liste de préfixes de noms. Si le client est en cours d'exécution et que l'administrateur apporte une modification, le client doit se mettre à jour et refléter ces modifications après qu'il a déjà été chargé. Oh, et parce que c'est un élément WPF et que je veux le cataloguer dans un ListBox. Si aucun de ceux-ci ne me fait utiliser un ObserableCollection, pas de gros problème ... Je vais utiliser quelque chose comme une liste, mais je ne pense pas que cela va changer la question originale.
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
namespace MyProject
{
public class NameField : TextBox
{
private static ObservableCollection<NamePrefix> _namePrefixes;
private static ObservableCollection<NameSuffix> _nameSuffixes;
static NameField()
{
_namePrefixes = new ObservableCollection<NamePrefix>();
_nameSuffixes = new ObservableCollection<NameSuffix>();
}
public static void AddNamePrefix(Int32 id, String prefix)
{
//TODO: WHAT DO I DO HERE!?
}
}
/// <summary>
/// A Key/Value structure containing a Name Prefix ID and String value.
/// </summary>
public struct NamePrefix
{
#region Constructor
public NamePrefix(Int32 id, String prefix)
: this()
{
ID = id;
Prefix = prefix;
}
#endregion
#region Properties (ID, Prefix)
public Int32 ID { get; set; }
public String Prefix { get; set; }
#endregion
}
/// <summary>
/// A Key/Value structure containing a Name Suffix ID and String value.
/// </summary>
public struct NameSuffix
{
#region Constructor
public NameSuffix(Int32 id, String suffix)
: this()
{
ID = id;
Suffix = suffix;
}
#endregion
#region Properties (ID, Prefix)
public Int32 ID { get; set; }
public String Suffix { get; set; }
#endregion
}
}
Veuillez ne pas inclure de contenu sans signification (comme des instructions de région vides, ou, honnêtement, des instructions '# region') dans votre code. –
quelle est la question? –