Je suis un peu perplexe: Cela fonctionne:
public TblProduktSoorten SelectedProduct { get { return _selectedPSoort; } set { if (_selectedPSoort != value) { _selectedPSoort = value; OnPropertyChanged("SelectedProduct"); } } }
7 Réponses :
Essayez d'utiliser l'élément non sélectionné mais le chemin de la valeur Cherchez l'exemple de code
public ObservableCollection<Project> Projects { get { return projects; } set { projects = value; RaisePropertyChanged("Projects"); } }
IssynchronizedWithCurrentItem = "vrai" m'a aidé. THX
@Rdv Ouugh Cela a résolu mon problème aussi! Pour moi, la mise à jour a fonctionné, mais seulement à chaque autre sélection i>! Je ne sais pas ce que cette étrangeté a causé. Mais ajouter issynchronizedwithcurrentItem = "vrai" code>, résolu ceci et la mise à jour de liaison fonctionne avec chaque mise à jour maintenant!
Ceci pourrait être lié au fait que Apparemment, l'ordre d'attributs importe , dans votre deuxième cas, le itemsSource code> et
SELECTELTEMITEM code> Les déclarations sont échangées. p>
Je dois dire que je pense que c'est une non-sens totale pour un composant correctement testé. C'est May i> être techniquement possible (je ne suis toujours pas convaincu de cela) mais vous devriez jamais i> à vous soucier de cela pour les contrôles Microsoft.
Si la combinaison est dans un Voir ceci: https://stackoverflow.com/a/5669426/16940 p> h3> DataGrid code> Vous devez ajouter ceci: p>
Même chose pour d'autres contrôles aussi comme radiobutton code>. Je ne sais pas les critères exacts ou pourquoi cela est nécessaire. Peut-être que quelque chose à voir avec la hiérarchie des arbres visuels ou quelque chose comme ça.
Je ne sais pas si vous l'avez déjà réparé, mais j'ai rencontré le même problème aujourd'hui. Il a été corrigé en veillant à ce que la collection de SEXEYITEMS était une observablecollection. P>
J'ai essayé toutes les autres réponses à rien. Cette réponse a fonctionné pour moi. Court et doux.
Si vous définissez la propriété sélectionnéeProduite lorsque le fichier sélectionné est modifié dans le gestionnaire d'événements modifié de la propriété, vous devez définir cette propriété de manière asynchrone.
private void ViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "SelectedProduct") App.Current.Dispatcher.InvokeAsync(() => SelectedProduct = somevalue); }
Mon problème a été causé par mon cerveau fatigué. Même symptôme, peut-être que cela vous frappera pour voir votre problème.
Réglage de la sélection sélectionnée doit recevoir un élément de la liste !! (Duhh) Normalement, cela se produit naturellement mais j'avais un cas, j'ai eu un «rôle» à partir d'un autre service (même type d'objet) et j'essayais de la définir et d'attendre que le ComboBox change! ; ( p>
au lieu de - p> N'oubliez pas de le faire - p>
fait cette même erreur! a déjà eu cette idée que cela puisse être la racine de racine au début, toujours fouillé sur le Web pendant une heure jusqu'à ce que je voyais votre réponse, lol
Je pense que ce problème est causé par le type Par exemple, si l'itemSource est lié à une liste
Snowbear est fatigué de
ne fonctionne pas code> motif. Save Snowbear! Dites-lui ce qui ne fonctionne pas dans votre cas!
Désolé. Je suis allé trop vite. Toutefois, le ComboBox for the SelectRol affiche correctement la propriété lorsque la propriété obtient une nouvelle valeur (à partir d'un événement sélectionné dans une liste de liste), avec presque exactement le même code, la sélection sélectionnéeSoort Combobox n'affiche jamais rien. L'optionSource fonctionne, le SELECTEDITEM est rempli mais ne s'affiche pas dans le ComboBox. Si ça a du sens...
Vous n'avez pas besoin d'utiliser le mode = Twoway pour l'itemSource également (comme dans l'échantillon de travail)?
Non, a changé toutes les choses possibles, ne change pas beaucoup.
Êtes-vous sûr que votre itemSource contient des objets de type TBLRODUKTSOORTEN? Parce que sinon vous n'obtiendrez aucune erreur sur la liaison sélectionnée.
Mon objetSource est
Observablecollection Allsoorten = Nouvelle Observablecollection (Prep.Service.getall ()); Code>
Les liaisons ne fonctionnent que des propriétés, pas des champs ( Stackoverflow.com/questions/842575/... )