Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB2010 - WPF] Conversione tra system.drawing.image e system.windows.media.image.QUAL

    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.

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    Il problema dei pulsanti è che internamente hanno un visualstate inaccessibile dalle proprietà. Questo in wpf è molto comune ma non è un problema perche la dove non ci si arriva con le proprietà e gli stili ci si puo arrivare ridefinendo il control template.

    guarda l'esempio qui.

    http://msdn.microsoft.com/en-us/library/ms753328(v=vs.85).aspx

    viene ridefinito il control template del pulsante con un border personalizzato. Nei listati sotto ci sono diversi stili da applicare al border. Infine per ogni trigger viene applicato lo stile appropriato al bordo attraverso l'element binding.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.