in

UgiMobile.org

Il primo User Group Italiano dedicato a Windows Mobile

Massimo Andreetta

  • [CF 2.0] Problema in design-time (DesktopCompatible )

    Sviluppando una applicazione per Windows Mobile con Visual Studio 2005 si potrebbe incorrere in un problema di visualizzazione dei controlli in design-time.

    Questo succede quando si utilizzano dei controlli che invocano la CoreDll, tipo l'InputPanel, oppure quando si importa la medesima libreria con [DllImport("coredll.dll")].

    Per risolvere questo problema è sufficiente inserire l'attributo DesktopCompatible nel file DesignTimeAttributes.xmta . Questo attributo rende la vostra classe compatibile con il sistema che state utilizzando. Questo perchè il PC di sviluppo non sempre possiede le classi che esistono nel dispositivo sul quale si installa l'applicazione.

    I passi per farlo in modo semplice sono:

    1. Aprire "Visualizza diagramma classi" cliccando col tasto destro sulla classe delvostro controllo;
    2. Selezionare la classe e aprire la finestra delle proprietà;
    3. Aggiungere una voce [DesktopCompatible(true)] agli "Attributi Personalizzati";
    4. Salvare e ricompilare

    In questo modo nella root del vostro progetto verrà creato il file DesignTimeAttributes.xmta che conterrà qualcosa come:

    <?xml version="1.0" encoding="utf-16"?>
    <Classes xmlns="http://schemas.microsoft.com/VisualStudio/2004/03/SmartDevices/XMTA.xsd">
    <Class Name="MioControllo.ImageButton">
       <DesktopCompatible>true</DesktopCompatible>
       </Class>
    </Classes>

Powered by Community Server (Commercial Edition), by Telligent Systems