Quote Originariamente inviata da Marsh Visualizza il messaggio
quando l'evento click dell'hyperlink viene generato, il sender rappresenta l'Hyperlink stesso, per accedere al dato che gestisce usi DataContext, essendo tutto generico devi eseguire il cast appropriato

codice:
            Hyperlink hl = (Hyperlink)sender; // mandante evento
            Disco d = (Disco)hl.DataContext; // hl contenuto
            int id = d.IDAlbum; // proprietà
per lo scambio di dati tra finestre non c'è nulla di particolare da fare, esegui come se fosse un passaggio di dati tra due oggetti, ossia quanto istanzi la finestra imposti i dati necessari, in seguito la visualizzi (show).

se ti servono risposte dalla finestra che hai attivato, utilizza gli eventi
Grazie Marsh per la risposta, per il primo suggerimento ho capito cosa hai fatto e sono riuscito a prendere i valori dal context, per quello che riguarda invece il passaggio all'altro form, onestamente per ignoranza mia non ho capito, sto provando a cercare qualcosa in rete per capire cosa mi hai detto. (hai qualche link da darmi?)
Per ora ho passato il valore in un textBlock nascosto giusto per andare avanti con l'esercizio
codice:
  Dettaglio det = new Dettaglio(); //dettaglio è l'altra window
            det.idScelto.Text = idAlbum.ToString();
Ho provato anche un'altra soluzione ma senza andare a buon fine
Ho creato una classe MyAlbum

codice:
 class MyAlbum
    {


        int _IdAlbum;


       
        public int IdAlbum
        {
            get
            {
                return _IdAlbum;
            }


            set
            {


                _IdAlbum = value;


            }
        }
    }
Poi nella prima finestra imposto l'id
MyAlbum myAlb = new MyAlbum();
myAlb.IdAlbum = Convert.ToInt32( idAlbum.ToString());

e nella seconda (dettaglio) me lo vorrei riprendere
MyAlbum myAlb = new MyAlbum();
txtIdAlbumDaClasse.Text = myAlb.IdAlbum.ToString();

ma il risultato è 0