Un étrange Bug

Résolu
PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 - 17 janv. 2013 à 11:22
PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 - 17 janv. 2013 à 15:10
Bonjour à tous,

Je viens de réaliser mon premier User Control en WPF .
J'ai voulu tester ce user control sur une appli de test WPF. J'ai donc référencé mon control et insérer celui-ci dans le designer (voir code ci-dessous).
<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:WpfUserLogin="clr-namespace:WpfUserLogin;assembly=WpfUserLogin" x:Class="TestUserLoginDll.MainWindow"
        Title="MainWindow" Height="600" Width="800">
    <Grid>

        <WpfUserLogin:frmLoginUser HorizontalAlignment="Center" VerticalAlignment="Center" Width="400" Height="220" Name="loginUser" />

    </Grid>
</Window>

J'ai lancé l'application et celle-ci fonctionne parfaitement .
Par contre dans mon designer, celui-ci me dit que j'ai l'erreur suivante:
NullReferenceException: Object reference not set to an instance of an object.
Le designer ne fait pas apparaitre mon User Control. Je ne vois pas pourquoi .



PascalCmoa
email: PascalCmoa

2 réponses

PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 5
17 janv. 2013 à 15:10
J'ai trouvé mon erreur. J’instancie un objet uniquement quand l'application WPF est en mode running. Donc dans VS2012 en mode création cet objet ne peut pas être instancier et donc me retourne une belle erreur dans le designer.

Encore Merci d'avoir répondu. J'ai pris bonne note de tes conseils.

PascalCmoa
email: PascalCmoa
3
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
17 janv. 2013 à 13:28
Salut,

Essayes de mettre des valeurs par défaut pour tous les membres du controle en faisant des accesseurs/mutateurs (get{} set{}) avec
[DefaultValueAttribute ("toto")]
ou
[DefaultValueAttribute (false)]
ect...

Voici ce que dit MSDN :

La valeur par défaut d'un membre est généralement sa valeur initiale. Un concepteur visuel peut utiliser la valeur par défaut pour réinitialiser la valeur du membre. Les générateurs de code peuvent également utiliser les valeurs par défaut pour déterminer si le code doit être généré pour le membre.

bye...
0
Rejoignez-nous