Ciao a tutti,
da pochi giorni mi sono avvicinato alla programmazione in WPF per poter usufruire di grafiche avanzate per la creazione di controlli da inserire su windows form.
L'idea è di creare una libreria esterna di controlli WPF ognuno dei quali possa essere gestito dall'applicazione come fosse un User Control standad.
Ho cominciato da quallo che credevo il più standard.. il pulsante!
Primo problema riscontrato è che se cambio il colore del background all'evento MouseDown il comportamento rimane quello standard. Ho ovviato togliendo dallo XAML il riferimento al pulsante e inserendo per ora 2 controlli label e 1 image rispettivamente per visualizzare testi e immagine. Per i testi nessun problema, ma l'immagine è un pianto.
Infatti sembra che per il caricamento dell'immagine su WPF devo impostare ImageSource che vuole un path o assoluto o relativo. Se relativo il file deve essere interno alla libreria con opzioni di compilazione di ripo "Resource". Non mi sta bene perchè devo poter impostare l'immagine dal programma chiamante (come per il controllo button standard).
Dopo aver consultato troppe pagine e troppe idee sono andato di fantasia creando dall'applicazione chiamante uno stream dell'immagine da impostare e sul controllo image di XAML scrivo i byte su un oggetto BitmapImage che poi imposto come sorgente dell'oggetto image... magia ... funziona , MA È INGUARDABILE !!!
Chiedo ... non c'è la possibilità di una trasformazione diretta da System.Drawing.Image a System.Windows.Madia.ImageQUALCOSA o .BitmapQUALCOSA ?!?!
Mi sembra una... non una bella cosa... il fatto che non abbiamo mantenuto un legame tra 2 oggetti diversi che gestiscono una cosa che concettualmente è uguale.
Grazie a tutti coloro che sono riusciti a leggere fino a qui, se poi qualcuno ha la possibilità di togliermi questo dubbio impostandomi un metodo meno obrobrioso (o anche solo per darmi un po' di conforto) potrebbe entrare nella lista dei miei eroi.