2010-08-27 4 views
0

j'ai le code commeC#/WPF: Pourquoi TabItem.IsFocused retour null

e.CanExecute = tabEditor.IsFocused; 

mais lors de l'exécution, je reçois une erreur d'exception de référence null. mais dans les docs, IsFocused renvoie uniquement vrai ou faux, pourquoi cela se produit-il? BTW, tabEditor est un <TabItem>

Répondre

2

Il est probable que ce soit e ou tabEditor est nulle, ce qui signifie qu'ils ne sont pas affectés à un objet nulle (ou autrement affectés explicitement à null). Si le code est dans un gestionnaire d'événements, il est possible que le framework n'ait pas initialisé toutes les variables au moment où le gestionnaire d'événements est appelé, auquel cas vous pouvez vouloir vérifier null.

+0

'tabEditor' est nul, mais pourquoi? le code se trouve à l'intérieur d'un 'Bold_CanExecute (expéditeur d'objet, CanExecuteRoutedEventArgs e)' et tabEditor se réfère à '' TabItem dans mon code XAML. Vous avez peut-être remarqué de la signature de la fonction que j'utilise les commandes routées. J'ai également remarqué que je n'ai pas encore appelé la commande explicitement. l'erreur est produite au démarrage de l'application –

+0

J'ai mis à jour ma réponse. –

Questions connexes