Nwlapcug.com


Come passare gli eventi a HostVisual con WPF

Oggetti in WPF sono generalmente accessibili solo dal thread che li ospita. Se, tuttavia, si desidera passare un evento a un altro oggetto, è possibile farlo con HostVisual. Windows Presentation Foundation è un sottosistema grafico per interfacce utente, originariamente sviluppato per integrare il Framework .NET. La struttura di programmazione di WPF è complesso e questo uso di codice deve essere utilizzato solo se si sa che si desidera eseguire questa operazione.

Istruzioni

1

Aprire lo script in WPF.

2

Individuare la sezione del codice dove si desidera passare all'evento.

3

Inserire le seguenti righe di codice:

private HostVisual CreateMediaElementOnWorkerThread()
{
// Create the HostVisual that will "contain" the VisualTarget
// on the worker thread.
HostVisual hostVisual = new HostVisual();

// Spin up a worker thread, and pass it the HostVisual that it
// should be part of.
Thread thread = new Thread(new ParameterizedThreadStart(MediaWorkerThread));
thread.ApartmentState = ApartmentState.STA;
thread.IsBackground = true;
thread.Start(hostVisual);

// Wait for the worker thread to spin up and create the VisualTarget.
s_event.WaitOne();

return hostVisual;
}
4

Modificare il codice in modo che è rilevante per lo script.

5

Premere "Ctrl" e "S" per salvare il codice.