J'ai ce que je pense être une question de liaison de données très simple (je suis encore nouveau à WPF). J'ai une classe (simplifiée pour cette question)WPF Databinding TextBox pour intégrer la propriété dans un autre objet
public class ConfigurationData
{
public int BaudRate { get; set; }
}
Dans MainWindow.Xaml.cs J'ai un membre privé:
private ConfigurationData m_data;
et une méthode
void DoStuff()
{
// do a bunch of stuff (read serial port?) which may result in calling...
m_data.BaudRate = 300; // or some other value depending on logic
}
Dans mon MainWindow gui, je voudrais avoir un TextBox qui affiche m_data.BaudRate ET permet une liaison bidirectionnelle. L'utilisateur devrait pouvoir entrer une valeur dans la zone de texte, et la zone de texte devrait afficher les nouvelles valeurs que nous avons provoquées par la méthode "DoStuff()". J'ai vu des tonnes d'exemples sur la liaison à une autre propriété d'un contrôle sur MainWindow, et la liaison à une collection de données, mais pas d'exemples de liaison à une propriété d'un autre objet. Je pense que mon exemple est à peu près aussi simple que cela, avec l'ennui tenace que je lie à un entier, pas une chaîne, et si possible, je voudrais que l'utilisateur puisse uniquement entrer des nombres entiers.
BTW J'ai envisagé d'utiliser un numérique haut/bas, mais j'ai décidé de ne pas y recourir car il ne semblait pas y avoir beaucoup de support/exemples de commandes numériques haut-bas non commerciales. De plus, il pourrait être un très grand nombre de numéros à passer. Je pense qu'un pointeur vers un bon exemple me mettrait sur la bonne voie. Un grand merci à l'avance, Dave
J'aurais dû dire que je pense qu'un pointeur vers un bon exemple me mettrait sur mon chemin. – Dave
Cela ne fonctionne pas (erreur syntac) J'ai vu qu'on peut configurer une "ressource" dans le Xaml. Cela semble être exagéré pour moi. Je ne peux pas le faire en ligne? C'est seulement une fois que je vais lier à m_data. A part: Est-il possible de mettre en forme du code ou d'utiliser la touche de retour dans les commentaires :)? –
Dave
Je voulais juste noter qu'un contrôle numérique haut-bas (ou spinner) aide également à empêcher la saisie au clavier non-numérique et les validations min/max, pas seulement la rotation réelle des nombres. Je pense qu'il y en a un dans Bag of Tricks qui fait le travail décemment (il suffit de le styler correctement). –