Déterminer qui a le focus dans la Fenêtre WPF
Nous sommes à l'utilisation de WPF et avoir une fenêtre dérivé d'un DockingLibrary. Cette fenêtre a une grille avec plusieurs éléments, l'un étant un WPF datagrid. Nous sommes à l'aide de la M-V-VM modèle. Lorsque cette windown est créé et apparaît, aucune des lignes de cette grille de données sont sélectionnés. Nous pouvons définir la ligne pour afficher comme l'a souligné en faisant quelque chose comme:
SharedWindow.ShipmentWin.shipmentDataGrid.SelectedIndex = 0;
Ce qui provoque la première ligne de la grille de données pour être montré comme l'a souligné. Mais, et n'est-il pas toujours un de ces, cette ligne n'est pas activée ni n'ont le Focus. J'ai essayé de réglage IsSelected et de se Concentrer sur cette ligne, comme dans:
SharedWindow.ShipmentWin.ShipVM.IsSelected = true;
bool focused = SharedWindow.ShipmentWin.shipmentDataGrid.Focus();
Vais-je au sujet de cette tout est faux et est-il un autre moyen de Sélectionner la première ligne de la grille de données et focus? Généralement, lorsqu'une grille de données est créée, aucune ligne n'est sélectionnée jusqu'à ce que la souris de l'utilisateur clique sur la ligne de votre choix.
Toute pensée serait grandement apprécié.
merci!
Vous devez vous connecter pour publier un commentaire.
Ont un look à la FocusManager. Il vous permet de fixer le focus à un autre élément de l'INTERFACE utilisateur via le SetFocusedElement méthode. En outre, il permet de déterminer la concentre actuellement sur l'élément dans votre application qui est peut obtenir très pratique pour déboguer les problèmes de focus. Snoop peut être utile, aussi. Il montre l'concentre actuellement sur l'élément dans la barre de statut.
Si vous utilisez la grille de données à partir de la WPF Toolkit, être prêt à trouver quelques bugs par rapport à la manipulation du zoom. Certains ont été relevés récemment.
Il est également important de comprendre la différence entre le focus logique et focus clavier, qui sont bien différents des animaux. Le
.Focus()
méthode parfois seulement des ensembles logique focus - qui n'est probablement pas ce que vous voulez.La la documentation pour la
Focus
méthode vous dit qu'il sera de retourtrue
si le clavier, l'accent a été mis, etfalse
autrement.