Pouvez-vous appeler une fonction dans MainWindow.Xaml.cs à partir de l'App.Xaml.cs?
Cela semble faisable, mais pour une raison quelconque, la façon correcte est pas le cas pour moi. Je suis nouveau en C# et .NET donc j'espère que ce n'est pas une question ridicule 🙂
Je pense que de voir certains de vos code (même si ça ne fonctionne pas), permettrait de fournir un réponse.
Parfois statique des méthodes ou des propriétés pourraient combler vos besoins. msdn.microsoft.com/en-us/library/79b3xss3(SV.80).aspx
Parfois statique des méthodes ou des propriétés pourraient combler vos besoins. msdn.microsoft.com/en-us/library/79b3xss3(SV.80).aspx
OriginalL'auteur nicky | 2011-04-07
Vous devez vous connecter pour publier un commentaire.
Ne savez pas pourquoi vous voulez le faire. Il ne semble pas comme le meilleur design, mais sans connaître les détails de ce que vous faites, je ne peux pas commenter à ce sujet. Voici comment cela pourrait être fait:
Dans L'App.Xaml.cs:
Noter que vous auriez à le faire APRÈS le démarrage. Si vous voulez le faire AVANT le démarrage, vous aurez besoin pour créer le
MainWindow
de l'objet et de l'attribuer àthis.MainWindow
:Vous pouvez aller de l'avant et de clarté de la
StartupUri
de la propriété à partir de l'App.fichier xaml ensuite. Ces lignes de code de la remplacer.OriginalL'auteur Josh G
Génial de voir quelqu'un débutant! Continuez comme ça, vous trouverez la langue pour être puissant et vous allez voir les méthodologies de conception qu'ils ont l'intention que vous pouvez utiliser avec votre code.
Je ne peux qu'interpréter un peu de circonstances où vous pourriez vouloir faire une telle chose.
1), l'Appel d'une fonction qui est indépendant de la fenêtre:
Si votre code ne dépend pas, ou se référer à votre MainWindow, peut-être que vous devriez sortir de MainWindow du fichier de code et de le mettre quelque part d'autre? Vous pouvez en avoir autant .cs fichiers que vous voulez, alors prenez votre temps et organiser les choses. Vous serez heureux vous avez fait par la suite.
2) Effectuer une certaine tâche d'initialisation de la fenêtre, après chargement:
Dans votre fenêtre de code, insérez votre code après l'appel InitializeComponent() dans le constructeur. (C'est la méthode qui n'a pas de type de retour, c'est juste "public MainWindow() {"
N'oubliez pas que vous pouvez ajouter des paramètres à votre constructeur, lorsque vous avez besoin de passer quelque chose. Il n'y a rien de magique, le constructeur sans paramètre par défaut, Visual Studio crée. Vous pourriez être en mesure d'éviter de créer des lots de alambiquée le code de cette façon. Il est généralement préférable de faire l'initialisation dans le code de la fenêtre plutôt que de se charger de la fenêtre,
3) Obtenir des données simples dans ou hors de la fenêtre
Avez-vous appris à créer des propriétés encore? Il est vraiment facile.
OriginalL'auteur djdanlib