QuickOPC, as such, works under practically any .NET project type, including WPF.
This applies fully to core features (for procedural coding model), and to Live Mapping and Reactive models.
All that's needed is to reference the QuickOPC assemblies, and instantiate objects and work with them as from any other environments.
The Live Binding model (where OPC data can be bound in VS designer to visual controls) only supports Windows Forms. Similarly, the OPC dialogs (for browsing etc.) are WinForms-based.
I am attaching a kind of "Hello World" project in WPF. It shows how to read an OPC item value, and display it in a TextBox on a WPF windows.
The code that does this is below:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
var client = new EasyDAClient();
var value = client.ReadItemValue("", "OPCLabs.KitServer.2", "Demo.Single");
TextBox1.Text = (value== null) ? "" : value.ToString();
}
Similarly, subscriptions etc. can be made (let me know if you need that) - it's only that the code-less Live Binding is not yet supported for WPF controls.
It should also be possible to create a Windows Forms user control, possible with the use of Live Binding as well, and then use a WindowsFormsHost (WPF) control to embed such user control in a WPF application; we have not tested this scenario, though.
If you let me know what are your application needs, I would be happy to provide further guidance or examples.
Best regards